以编程方式重新启动nodejs服务器

时间:2014-04-08 10:36:19

标签: node.js

用户案例: 我的nodejs服务器以配置向导启动,允许用户更改端口和方案。更重要的是,更新快递路线

问题: 是否可以动态应用这种配置更改?重新启动服务器绝对可以在线进行所有更改,但我不知道如何从代码中触发它。

2 个答案:

答案 0 :(得分:3)

很少实时更改核心配置。 Node.js和大多数http框架此时都不支持它。

修改配置然后重新启动服务器是非常有效的解决方案,我建议您使用它。 要以编程方式重新启动服务器,必须在node.js之外执行逻辑,以便在node.js进程被终止后此过程可以继续。当然,您在Linux上运行node.js服务器,Bash脚本听起来像是最适合您的工具。

实施将如下所示:

  1. 客户端在您的站点上的某个位置按下由node.js
  2. 提供支持的交换机
  3. Node.js然后执行一些JavaScript代码,指示您的操作系统执行一些bash脚本,假设它是script.sh
  4. script.sh重新启动node.js
  5. 完成
  6. 如果任何步骤很困难,请询问。虽然步骤1是您可能已经处理好的事情。

答案 1 :(得分:0)

我知道很久以前就问过这个问题,但是自从遇到这个问题以来,我将分享我最终做的事情。

对于我的问题,由于允许用户更改其网站上的端口,因此我需要重新启动服务器。我最终要做的是将整个服务器创建(https.createServer / server.listen)包装到一个名为startServer(port)的函数中。我会在文件末尾使用默认端口调用此函数。用户可以通过访问端点/ changePort?port = 3000来更改端口。该端点将调用另一个名为restartServer(server,res,port)的函数,该函数随后将使用新端口调用startServer(port),然后使用新端口将用户重定向到该新站点。

比重新启动整个nodejs流程要好得多。