我们有一个Node.js应用程序,它具有相当大的代码库,我们正试图将其部署到Azure网站。我的问题是,当我部署应用程序并尝试访问它时,我只是收到一条消息说"由于发生内部服务器错误而无法显示页面"。
根据http://azure.microsoft.com/en-us/documentation/articles/web-sites-nodejs-debug/我应该能够配置一些设置并将我的标准记录到文件中 - 好吧,它不能正常工作。 in / LogFiles我可以看到/ git,/ html和/ DetailedErrors,但这些文件夹都不包含stdout日志。
我使用Visual Studio部署了应用程序。我创建了一个空白的Azure项目,并手动添加了我需要的所有文件夹和文件。我还创建了一个包含以下配置的iisnode.yml文件:
loggingEnabled: true
devErrorsEnabled: true
logDirectory: ./logs
debugHeaderEnabled: true
我后面添加的最后两行,第一行来自教程。我还有一个web.config文件,其内容我还没有真正触及过。
我试图配置网站用户界面中可用的设置,但我还没有取得任何进展。我认为目前它们几乎都是默认的。
抱歉,我无法向您提供更多信息。我真的很喜欢在这里撞墙,因为我发现的所有教程基本上都说如果我这样做,那么一切都应该有效。问题是,它没有。悲伤的脸。
编辑:我应该添加我的server.js在名为/ NodeServer的文件夹中。它似乎不像Azure那样存在于root中。
Edit2:我部署了一个Hello World示例并让它工作,但是当我尝试从root用户移动server.js文件时,我无法让它继续工作。
我已经在web.config中添加了一个标记,因此结构基本上是
configuration
location path="NodeServer"
system.webServer
我还编辑了我的package.json,以便说明
"main":"NodeServer/server.js",
"scripts":{
"start":"cd NodeServer && node server.js"
}
答案 0 :(得分:0)
如果应用程序成功启动,您应该能够在
找到标准输出D:\home\LogFiles\Application
Azure网站中的,没有配置任何内容。
但是这里看起来像是与错误/缺少web.config有关的错误。节点应用程序可能无法启动。你可以尝试:
编辑:当您更改server.js的位置时,您还必须更改web.config。 web.config中的更改不正确。而package.json仅用作git部署期间生成web.config的提示。为了获得你的'#hello world"工作,你可以
然后,您可以尝试让更大的应用运行。