gpt4 book ai didi

node.js - Azure 服务器上的错误 : listen EACCES 0. 0.0.0:80 Node (Windows server 2012 r2)

转载 作者:可可西里 更新时间:2023-11-01 09:33:07 25 4
gpt4 key购买 nike

我停止了万维网发布服务,并将启动类型更改为禁用,并以管理员身份运行来启动网站,但收到了 EACCES。

这是权限错误吗?我读过在 linux/unix 上使用 sudo 运行网站可以解决这个问题,但是在 Windows 上呢?

编辑:我最终使用了 iisnode,因为我无法解决端口 80 上的 EACCES 错误。以下是我通过 iisnode 模块让我的 Node 服务器在 iis 上运行的步骤:

*安装iisnode(无论你想要在哪里);
*为 iss 安装“URL Rewrite”插件;
*创建新站点;
*使用以下内容创建 web.config 文件:

  1. 服务器文件上 iisnode 的处理程序映射以及服务器文件的路径;
  2. 重写url规则,任何对url的请求都转到服务器文件;
  3. 调试和日志记录(日志文件目标路径)设置为 true;

(请在本文底部找到示例 web.config 文件)

*赋予SERVER/IIS_IUSRS对站点iis中找到的目录/虚拟目录的写权限;
*创建本地绑定(bind);
*使用*:80作为端口创建外部绑定(bind);
*确保 Node 的 http 监听器设置为监听 process.env.PORT,因为 iisnode 会针对 http 请求将此环境变量设置为 80;

根文件夹中的示例 web.config 文件,并假设 Node 服务器(在本例中称为 app.js)也位于根文件夹中。

<configuration>
<system.webServer>
<!--Tells iis that app.js is to be handled by iisnode module-->
<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>
<!--Url rewrite rule that anything coming to any url of within site goes through app.js-->
<rewrite>
<rules>
<rule name="toNode">
<match url="/*"/>
<action type="Rewrite" url="app.js"/>
</rule>
</rules>
</rewrite>

</system.webServer>
</configuration>

编辑:在很大程度上,我遵循了本教程: https://www.youtube.com/watch?v=JUYCDnqR8p0

最佳答案

如果您想在端口 80 上运行 node 应用程序,则必须使用 sudo 特权帐户运行它。

对于 Windows,重启 iis Node 可能可以解决该问题。

run node.js webbapp on 80 port on windows

关于node.js - Azure 服务器上的错误 : listen EACCES 0. 0.0.0:80 Node (Windows server 2012 r2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36293278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com