hre*_*ef_ 5 server upstart nginx 12.04 14.04
我花了一段时间才发现,但在最近的一些更新中,我无法在我的任何 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.
每次运行时,Nginx 都会重新生成sudo service nginx stop。它永远不会停止。
我尝试更新 Ubuntu,重新启动并在本地测试映像上重新安装我的服务器(我使用 Puppet)。没有任何区别。我也尝试搜索与此相关的错误,但无济于事。
有谁知道我该如何解决这个问题?我希望能够运行sudo service nginx stop并因此停止所有 nginx 进程。
看起来你的 nginx 服务器是由一个暴发户进程处理的。
查看/etc/init文件夹,检查是否有处理nginx的文件。
grep -r nginx /etc/init
Run Code Online (Sandbox Code Playgroud)
然后编辑该文件,并删除respawn配置文件中的选项。
我遇到了同样的问题,当我想用临时网络服务器更新我的 LetsEncrypt 证书时certbot:每次,我都会停止 nginx
service stop nginx
Run Code Online (Sandbox Code Playgroud)
几秒钟后它会自动重新启动,因此当涉及到提供我的域 certbot 的证明时,端口 443 已被重新生成的 nginx 使用。
我真的很急于解决这个问题,所以我开始了一个非常肮脏的解决方法,但它有效:
while true; do service nginx stop; sleep 2; done
Run Code Online (Sandbox Code Playgroud)
现在我可以刷新我的证书并稍后了解如何以更正确的方式永久停止 nginx ;)
| 归档时间: |
|
| 查看次数: |
18707 次 |
| 最近记录: |