![确保在关闭期间 /etc/init.d/nginx 之后停止 upstart 作业](https://linux22.com/image/619223/%E7%A1%AE%E4%BF%9D%E5%9C%A8%E5%85%B3%E9%97%AD%E6%9C%9F%E9%97%B4%20%2Fetc%2Finit.d%2Fnginx%20%E4%B9%8B%E5%90%8E%E5%81%9C%E6%AD%A2%20upstart%20%E4%BD%9C%E4%B8%9A.png)
我有一个 upstart 作业 X,它控制一些 Web 进程。在关闭期间,我想确保 X 在 /etc/init.d/nginx 之后停止,这样就不会有任何 502 返回到此服务器前面的 HAProxy 实例。HAProxy 每 2 秒进行一次健康检查,如果 X 先停止,那么在健康检查获得 502 并将服务器从轮换中移除之前,可能还会有很多其他 502 响应。另一方面,如果 nginx 先停止,那么 HAProxy 将无法建立连接,并立即将服务器从轮换中移除。
要求:
- 启动/停止/重启 nginx -> X 没有任何反应
- 启动/停止/重启 X -> nginx 没有任何反应
- 系统关闭 -> 关闭 nginx,然后关闭 X
这可行吗?我是否必须将 X 设为 sysv 初始化脚本?