我以前从未使用过Azure,因此我遵循了以下教程:https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-nodejs#create-a-project-zip-file
尝试在Node.js中制作的Azure上部署简单应用程序时出现权限错误。我已经尝试过多次重新上传,但是每次都会收到相同的错误。我正在使用Azure的免费试用版。
这是package.json和web.config
PACKAGE.JSON:
{
"name": "oslo-solutions",
"version": "1.0.0",
"description": "",
"main": "scripts.js",
"scripts": {
"test": "karma start karma.conf.js",
"build": "webpack --mode development",
"start": "webpack-dev-server --open",
"lint": "eslint src/*.js",
"jinit": "./node_modules/.bin/jasmine init",
"npminit": ""
},
"repository": {
"type": "git"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.18.2",
"bootstrap": "^4.0.0",
"express": "^4.16.3",
"jquery": "^3.3.1",
"lodash": "^4.17.5",
"popper.js": "^1.14.1"
},
"homepage": "/",
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.3",
"babel-preset-es2015": "^6.24.1",
"clean-webpack-plugin": "^0.1.19",
"css-loader": "^0.28.10",
"dotenv-webpack": "^1.5.5",
"eslint": "^4.18.2",
"eslint-loader": "^2.0.0",
"html-webpack-plugin": "^3.0.6",
"jasmine": "^3.1.0",
"jasmine-core": "^2.99.0",
"karma": "^2.0.0",
"karma-chrome-launcher": "^2.2.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-jquery": "^0.2.2",
"karma-webpack": "^2.0.13",
"style-loader": "^0.20.3",
"uglifyjs-webpack-plugin": "^1.2.2",
"webpack": "^4.0.1",
"webpack-cli": "^2.0.11",
"webpack-dev-server": "^3.1.1"
}
}
WEB.CONFIG:
<configuration>
<system.webServer>
<!-- indicates that the index.js file is a node.js application
to be handled by the iisnode module -->
<handlers>
<add name="iisnode" path="scripts.js" verb="*" modules="iisnode" />
</handlers>
<!-- adds index.js to the default document list to allow
URLs that only specify the application root location,
e.g. http://mysite.antarescloud.com/ -->
<defaultDocument enabled="true">
<files>
<add value="scripts.js" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
答案 0 :(得分:1)
我遵循了此示例node.js应用程序:nodejs-docs-hello-world并将其部署到azure。它工作正常,请参考web.config
文件:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation batch="false" />
</system.web>
<system.webServer>
<handlers>
<add name="iisnode" path="scripts.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="myapp">
<match url="/*" />
<action type="Rewrite" url="scripts.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我建议您导航到KUDU
网址:https://<your app name>.scm.azurewebsites.net/DebugConsole
,然后转到site\wwwroot
,检查文件是否包含在目录中。
或者暂时放弃zip部署,只需将本地文件直接拖到d:home\site\wwwroot
目录中,然后重试。
有关更多解决方案,请参考以下主题:
2。https://github.com/Azure-Samples/nodejs-docs-hello-world/issues/9
希望对您有帮助,有任何问题请告诉我。