在Heroku上部署快速服务器

时间:2015-10-10 20:14:04

标签: express heroku

我的快递服务器看起来像这样:

//server.js
var app = express();
var server = app.listen(3000, ...


   // this is further wrapped in main.js
var forever = require('forever-monitor');

var child = new (forever.Monitor)('server/server.js', {
  max: 30000,
  silent: false,
  args: []
});

  child.start();

当我部署到heroku时,我目前执行main.js

//package.json
"scripts": {
    "start": "node server/main.js"
  },

到目前为止一直很好...... heroku永远开始,从我的快递服务器开始......

但是我不相信我会在所有内核上运行快速服务器。

理想情况下,我想做一些事情pm2来启动我的快递服务器。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

在将代码部署到Heroku时,您不希望使用像pm2这样的进程监视器或永远 - 这是因为Heroku的dyno网格将自动检测应用程序崩溃并处理重新启动进程。这是一种更可靠的处理方式,因为您还可以在日志中获得有用的Heroku调试信息。

注意:我在您的示例中也注意到您正在侦听端口3000上的连接 - 您可能不希望在Heroku上执行此操作,因为他们分配给您一个随机收听的端口。你应该说app.listen(process.env.PORT);