许多公司会在其服务器上为您加载 Web 应用程序(例如 wordpress 等),并且由于他们在同一台服务器上还有其他客户,所以我很好奇他们是如何在无需重新启动 Web 服务器的情况下做到这一点的?
如果他们确实重新启动了网络服务器,那么其他客户端站点就会瘫痪,而这不是一个好的情况。
使用 nginx 可以吗?
答案1
/etc/init.d/nginx reload
应该重新加载你的 nginx 配置,而无需重新启动 nginx 或使当前网站关闭
话虽如此,但 nginx 重启通常需要不到 30 秒的时间,所以如果这是一个大问题,我会感到惊讶
答案2
这不是 nginx 独有的。您需要正常重启它,这意味着任何新的工作进程都将使用新配置,而正在运行的工作进程将使用旧配置,直到它们完成正在执行的操作并退出。
答案3
你可以使用信号加载新配置。 它会
- 读取并测试新配置。如果配置无效,则不执行任何操作。
- 有效时,使用新配置启动新的处理工作器。将新工作器附加到端口监听、日志等。
- 将老工人与听众分开。
- 优雅地关闭旧工人。
您甚至可以即时升级到新的二进制文件。请参阅同一文档。
要执行重新加载,请发送reload
信号:
nginx -s reload