无法阻止nginx服务
我花了一段时间才发现,但是最近的一些更新,我无法阻止任何我的Ubuntu 12.04或Ubuntu 14.04服务器上的Nginx。
我运行sudo service nginx stop
,我得到nginx start/running, process 16178
。
我再次尝试sudo service nginx stop
,我得到nginx start/running, process 16206
。
请注意进程号如何更改。
在/var/log/syslog
我可以看到原因:
Jun 11 11:57:51 kernel: [2318556.994508] init: nginx main process ended, respawning
。
每次运行sudo service nginx stop
时,Nginx都会重生。 它永远不会完全停止。
我尝试更新Ubuntu,重启并在本地测试图像上重新安装我的服务器(我使用Puppet)。 没有任何区别。 我也试图寻找与此无关的错误。
有谁知道如何解决这个问题? 我希望能够运行sudo service nginx stop
并因此sudo service nginx stop
所有nginx进程。
看来你的nginx服务器是由一个暴发的进程处理的。
查看/ etc / init文件夹,检查是否没有处理nginx的文件。
grep -r nginx /etc/init
然后编辑此文件,并删除配置文件中的respawn
选项。
我有同样的问题,当我想用certbot用临时网络服务器更新我的letsencrypt证书时:每次,我都停止了nginx
service stop nginx
几秒钟后它会自动重启,所以当提供我的域certbotcertificate时,端口443已经被重新生成的nginx使用了。
我真的急于解决这个问题,所以我开始了一个非常肮脏的解决方法,但它有效:
while true; do service nginx stop; sleep 2; done
现在我能够刷新我的证书并稍后了解如何以更正确的方式停止nginx;)
你可以使用sudo nginx -s quit
来停止nginx进程
你可以在/etc/init/nginx
看到