PM2(Node.js)不监听指定的端口
我试图在PM2上启动并运行Node / Express应用程序。 我可以用这个命令启动应用程序: npm start
这在3000端口启动应用程序。
如果我尝试启动应用程序与pm2 start app.js
我在日志中获得以下内容:
{ online: true, success: true, pid: 10714, pm2_version: '0.8.15' } 2014-06-12T19:52:06.789Z : [[[[ PM2/God daemon launched ]]]] 2014-06-12T19:52:06.800Z : RPC interface [READY] on 6666:localhost 2014-06-12T19:52:06.801Z : BUS system [READY] on 6667:localhost 2014-06-12T19:52:06.978Z : Entering in node wrap logic (cluster_mode) for script /home/user/test/app.js 2014-06-12T19:52:07.115Z : /home/user/test/app.js - id0 worker online
在我的bin / www文件中,我有以下指定端口:
app.set('port', process.env.PORT || 3000);
我也试着运行export PORT=3000
以及bin / www中的以下内容:
app.set('port', 3000);
如果我运行netstat -an | grep 3000
netstat -an | grep 3000
我没有得到任何回报。
对于使用Express的人来说,这个答案就是运行这个命令:
pm2 start ./bin/www
我一直在运行pm2 start app.js
哪些不起作用。
你的app.set('port'...
调用不是直接相关的, app.set
只是一个存储键/值设置的地方,但它本身并没有提供任何function,你想看的是你调用的地方因为该函数是接受端口作为参数的app.listen
。
我有一个类似的问题,configuration为代理服务器的nginx我看不到由PM2运行的快车应用程序。 当我删除我的~/.pm2
文件夹它工作。