我需要使我的本地node.js webapp听80端口。 现在,如果在端口80上运行我的应用程序,我得到这个错误
events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EACCES at errnoException (net.js:901:11) at Server._listen2 (net.js:1020:19) at listen (net.js:1061:10) at Server.listen (net.js:1127:5) at Object.<anonymous> (\scripts\server.js:23:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)
如果在4321端口上运行应用程序,这个错误不会被重现,所以它的端口依赖。
我应该怎么做才能在Windows 7上的端口80上运行我的应用程序
在Windows机器上你的80端口可能忙于IIS服务器。 尝试先停止iis,然后在端口80上运行node.js webapp。
80端口上的IIS肯定是问题。 而不是你可以尝试IIS节点。 http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx可能根本不需要在本地开发80端口,但是如果你在Windows机器上进行生产,IIS Node是负载均衡的好选择。
叹息 – 我刚刚发现SKYPE.EXE潜伏在我的端口80和443.使用netstat -anb
查看可能阻止node.exe接受这些端口上的套接字…
就像@jimme我的问题是因为我安装了skype客户端在同一开发机器上测试另一个项目。
在我的情况下,我可以}).listen(80);
但不是}).listen(80, "0.0.0.0");
我的服务器是无法从任何东西,但本地主机。 当我通过netstat -abn
进行调查时,我可以看到某个端口正在监听,但是没有进程信息。 幸运的是,“Windows试图通过不将绑定到80端口的调度机制来适应这种不灵活的服务,直到一些主动要求的东西(这就是为什么你不一定会看到问题,但可能会遇到这个问题在某种更新或配置更改之后),“在https://serverfault.com/questions/65717/port-80-is-being-used-by-system-pid-4-what-is-那哪个指向到文章https://www.mikeplate.com/2011/11/06/stop-http-sys-from-listening-on-port-80-in-windows/ 。
当我看到那条重要的信息和@jimme的回答时,我记得我还安装了Skype。 我只是让Skype在启动时不开始,我很好。