2. 关闭监听的句柄。 关闭后保证不再处理接下来的请求。
3. 关闭空闲的连接。
打开这个教程: EA82.COM
启动 nginx
systemctl start nginx
一旦 nginx 启动后,就可以用nginx -s signal 命令来接管
快速关闭 nginx
nginx -s stop
平滑的关闭 nginx
nginx -s quit
重启 nginx
nginx -s reload
分割日志
nginx -s reopen
nginx 的工作原理
nginx 有一个 master 进程(老板)和多个 worker 进程(工人),master 进程负责阅读和评估配置,给 worker 进程提供保障,worker 进程实际处理请求。
nginx -s reload 命令加载修改后的配置文件, 命令下达后发生如下事件
Nginx 的 master 进程检查配置文件的正确性,若是错误则返回错误信息,nginx 继续采用原配置文件进行工作(因为 worker 未受到影响)
Nginx 启动新的 worker 进程,采用新的配置文件
Nginx 将新的请求分配新的 worker 进程
Nginx 等待以前的 worker 进程的全部请求已经都返回后,关闭相关 worker 进程
重复上面过程,直到全部旧的 worker 进程都被关闭掉。
nginx -s quit命令关闭 nginx 服务时,nginx 服务要等待工作进程将当前请求处理完才关闭。
也可以用 kill 命令杀死指定进程号的 nginx 进程
先通过 /var/run/nginx.pid 文件查看 nginx master 进程进程 id,
或者通过ps -ax|grep nginx查看进程
在使用kill -s quit 进程号 杀死进程
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)