【发布时间】:2018-03-29 20:50:39
【问题描述】:
您好,我正在尝试在 Azure(Web/移动应用)上部署我们的 node.js 应用。但它给出了那个错误:
events.js:183
throw er; // Unhandled 'error' event
^
Error: listen EACCES 0.0.0.0:80
我的端口监听代码是:
httpsServer.listen(process.env.PORT || 80);
它在谷歌云平台上运行没有任何问题。
【问题讨论】:
-
您是否要手动启动该应用程序?这可以解释绑定错误,因为
process.env.PORT在 Kudu 中不存在,但它确实存在于应用程序命名空间(IIS 应用程序池)中。它也不是 TCP 端口号,而是命名管道。当您通过其公共 URL 访问该应用时会发生什么? -
还有一点,如果您没有使用 git 进行部署,您可能会丢失自动生成的 web.config。你可以从这里复制-gist.github.com/davidebbo/8ad0d30ac1b1aa3d0334,只是修改你的启动文件名。
-
@evilSnobu 我从本地 git 部署,web.config 生成成功,我认为这是关于部署 git 并尝试同时手动启动应用程序。我是 azure 的菜鸟,并尝试了解流程。
-
好吧,不要手动启动您的应用程序。只需将 git 远程添加为
https://{sitename}.scm.azurewebsites.net并 git push 即可。此外,请确保您在该 Web 应用的门户中没有杂散的“端口”应用设置。
标签: node.js azure azure-web-app-service