|
发表于 2023-5-23 17:33:51
来自 广东深圳
平滑的重启,修改配置后,重新加载配置
#进入nginx目录
cd /usr/local/nginx/sbin
#执行重载命令
./nginx -s reload
nginx工作中,包括一个master进程,多个worker进程。worker进程负责具体的http等相关工作,master进程主要是进行控制。
nginx -s reload 命令加载修改后的配置文件,命令下达后发生如下事件
Nginx的master进程检查配置文件的正确性,若是错误则返回错误信息,nginx继续采用原配置文件进行工作(因为worker未受到影响)
Nginx启动新的worker进程,采用新的配置文件
Nginx将新的请求分配新的worker进程
Nginx等待以前的worker进程的全部请求已经都返回后,关闭相关worker进程
重复上面过程,知道全部旧的worker进程都被关闭掉。
所以,重启之后,master的进程号不变,worker的进程号会改变。 |
|