以编程方式重新启动Node.js服务器

时间:2014-05-20 17:23:35

标签: node.js

如何从代码重启Node.js服务器?例如,如果使用expressjs框架,

app.get('/restart', function (req, res, next) {
//Code to restart a server
})

我想从这样的应用程序重新启动服务器,而无需进入控制台等。怎么做?

2 个答案:

答案 0 :(得分:20)

我使用forever来启动和监控应用程序。 所以重启功能如下:

app.get('/restart', function (req, res, next) {
  process.exit(1);
});

关闭服务器后,forever将重新启动服务。

控制台:

Express server listening on port 3000 in development mode
error: Forever detected script exited with code: 1
error: Forever restarting script for 2 time
Express server listening on port 3000 in development mode

答案 1 :(得分:0)

通过组合npm restartchild_process.exec(),似乎可以以编程方式重新启动服务器。并且由于它允许运行多个脚本来停止,重新启动和启动该选项,即使在多进程服务器或其他复杂的服务器(仅调用process.exit()也不可行)中,该选项也适用。