"应用程序抛出未捕获的异常并终止:错误:听EACCES 0.0.0.0:80"

Mar*_*ari 3 iis azure node.js iisnode

我在这里搜索了有关此错误的其他问题,但我找不到解决方案.

昨天我在Azure上部署了一个Node + Express + Socket.IO网站,它不起作用.我收到了错误

Application has thrown an uncaught exception and is terminated: Error: listen EACCES 0.0.0.0:80
Run Code Online (Sandbox Code Playgroud)

在这段代码中:

// more code ...

var app = express();

var server = require('http').Server(app);

var io = require('socket.io')(server);

// right here
server.listen(portNumber, function () {
  console.log('Server listening at port %d', portNumber);
});

// more code ...
Run Code Online (Sandbox Code Playgroud)

看起来好像另一个进程已经在监听这个端口..也许IIS服务器?我不确定.

小智 5

你应该设置portNumber如下:

var portNumber = process.env.port || process.env.PORT || 1337
Run Code Online (Sandbox Code Playgroud)

Azure在变量中传递一个端口,process.env.PORT你必须使用它,因为它实际上不是一个端口,而是一个管道\\\\.\\pipe\\2f95e604-fc02-4365-acfc-010a26242d02.