我在使用PM2在具有两个CPU核心的计算机上负载均衡Node.js(10.32)简单脚本时遇到问题。
脚本如下:
var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(200, {"Content-Type": "text/plain"});
res.end("Hello World\n");
});
server.listen(81);
如果我运行pm2 start -i max script.js
,则两个子进程似乎成功启动(根据pm2 list
),但http://localhost:81
的请求会挂起。
如果我运行pm2 start -i max -x script.js
,则第一个子进程成功启动,但第二个进程永远重启(带有EADDRINUSE错误)。
我使用lsof
进行了检查,在运行PM2之前未使用端口81。