Node.js监听80端口报错解决方法
2018-08-14 本文已影响367人
不进则退
server.js
文件监听本地的80端口
server.listen(80, '127.0.0.1', () => {
console.log('server is running');
});
在终端执行node server.js
,这时候会报错, 如下:
Error: listen EACCES 127.0.0.1:80
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at Server.setupListenHandle [as _listen2] (net.js:1338:19)
at listenInCluster (net.js:1396:12)
at doListen (net.js:1505:7)
at _combinedTickCallback (internal/process/next_tick.js:141:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:612:3
这是为啥呢?
原来是因为Linux 下监听 < 1024 的端口要 root 权限。
怎么解决这个问题?
看了网上一大堆的解决方案, 说是改这改那的配置, 还有Apache的配置等等,而且都是相同的答案(中国人喜欢转载)。
其实最简单的方式是:sudo node server.js
这时候你在终端可以看到要你输入Password, 输入完Mac电脑密码就成功了!
Password:
server is running