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文件夹它工作。