1 master线程挂了,但worker线程还在
kill掉主线程后,reload和restart会找不到线程。重新挂载配置会提示端口已绑定。因此需要将其余worker线程一并kill掉。
如下命令查看:
ps aux|grep nginx

在输入:
kill $(ps aux | grep nginx | awk '{print $2}')
不需要管那个no such
之后重新挂载配置文件即可启动成功。
nginx -c /.../nginx.conf

重启:nginx -s reload
注意配置文件是否正确。
nginx会存在一个master线程和多个worker线程(根据配置或cpu核心数来)。当运行中的worker线程挂掉后,会有新的顶上去,因此需要杀掉所有的worker线程。
注意配置文件是否正确。小心关掉之后无法重启,影响正常服务。
当nginx的master线程挂掉后,reload和restart操作可能失败,因为worker线程仍在运行。此时需通过psaux命令查找并kill所有worker线程,然后才能成功重新加载配置文件启动nginx。注意操作时要确保配置文件的正确性,防止无法重启导致服务中断。
2965

被折叠的 条评论
为什么被折叠?



