用户案例: 我的nodejs服务器以配置向导启动,允许用户更改端口和方案。更重要的是,更新快递路线
问题: 是否可以动态应用这种配置更改?重新启动服务器绝对可以在线进行所有更改,但我不知道如何从代码中触发它。
答案 0 :(得分:3)
很少实时更改核心配置。 Node.js和大多数http框架此时都不支持它。
修改配置然后重新启动服务器是非常有效的解决方案,我建议您使用它。 要以编程方式重新启动服务器,必须在node.js之外执行逻辑,以便在node.js进程被终止后此过程可以继续。当然,您在Linux上运行node.js服务器,Bash脚本听起来像是最适合您的工具。
实施将如下所示:
如果任何步骤很困难,请询问。虽然步骤1是您可能已经处理好的事情。
答案 1 :(得分:0)
我知道很久以前就问过这个问题,但是自从遇到这个问题以来,我将分享我最终做的事情。
对于我的问题,由于允许用户更改其网站上的端口,因此我需要重新启动服务器。我最终要做的是将整个服务器创建(https.createServer / server.listen)包装到一个名为startServer(port)的函数中。我会在文件末尾使用默认端口调用此函数。用户可以通过访问端点/ changePort?port = 3000来更改端口。该端点将调用另一个名为restartServer(server,res,port)的函数,该函数随后将使用新端口调用startServer(port),然后使用新端口将用户重定向到该新站点。
比重新启动整个nodejs流程要好得多。