什么时候重启而不重新加载Nginx?

问题描述 投票:0回答:4

什么时候需要重启nginx,重新加载就不行了?
如果使用像 passenger 这样的扩展会有什么不同吗?

如果服务消耗过多内存是否应该重新启动。重新启动 Nginx 的任何其他原因,特别是在扩展或 Nginx 核心配置中的配置更改之后?

更改配置后,可以通过 binary 本身或 Ubuntu 上的 init.d 脚本“/etc/init.d/nginx -h”重新启动或重新加载 nginx。应该首选哪种方法?

nginx deployment passenger
4个回答
69
投票

重新加载 nginx 比重新启动更安全,因为在旧进程终止之前,新的配置文件将被解析,如果出现任何问题,整个进程将被中止。

另一方面,当你重新启动 nginx 时,你可能会遇到由于语法错误,nginx 将停止并且不会再次启动的情况。

重新加载会终止旧进程,因此无论如何都应该清除任何内存泄漏。


33
投票

我遇到过这样的情况,我需要重新启动 nginx 才能启动新 IP 地址的

listen
指令。


15
投票

Ztyx 是对的 - 在某些情况下需要在更改监听指令时重新启动。

在 1.6.x 中,更改监听 IP 地址时可以重新加载,但从“*:80”监听 IP 地址“x.x.x.x:80”时需要重新启动。

我仅通过 IPv4 确认了这一点,IPv6 的行为可能类似。


0
投票

如果确实需要重启nginx。首先,您可以运行以下命令来检查是否有任何错误。

 sudo nginx -t

在大多数情况下,重新加载是更好的选择。

reload – 重新加载配置文件。

© www.soinside.com 2019 - 2024. All rights reserved.