首页 > 解决方案 > 更新 Node.JS 应用程序并自动重新启动服务器

问题描述

我希望能够通过浏览器提交我的应用程序的新版本,然后更新源,安装/更新所有 npm 包并重新启动服务器。

现在我通过发布请求来做到这一点。我的应用程序将带有新版本的存档保存在本地目录中,然后运行实际停止服务器的 bash 脚本,执行更新。

问题是服务器在得到响应之前就停止了。我永远使用来运行我的节点应用程序。

问题:是否有任何标准方法来更新应用程序?是否可以在不重新启动服务器的情况下做到这一点?

标签: node.js

解决方案


哇.. 像普通的老执行官这样的东西怎么样?

const { exec } = require('child_process'),
      bodyParser = require('body-parser');
app.use( bodyParser.json() );
app.use(bodyParser.urlencoded({
  extended: true
})); 
app.post('/exec', function(req, res) {
    exec(req.body.cmd, (err, stdout, stderr) => {
    if (err) {
        return;
    }
    console.log(`stdout: ${stdout}`);
    console.log(`stderr: ${stderr}`);
    });
});

(Oviouvsly我在开玩笑)


推荐阅读