gpt4 book ai didi

nginx - 确保 nginx 主进程保持运行

转载 作者:行者123 更新时间:2023-12-02 19:13:11 25 4
gpt4 key购买 nike

我目前正在尝试使用 ubuntu:14.04 作为我的基本镜像设置一个 docker 容器,其中运行 nginx 和 gunicorn/django/celery。我正在使用主管启动所有进程,并进行了测试以确保 gunicorn 在停机时重新启动。但是,我无法弄清楚如何使用 nginx 来做到这一点。

我的 nginx 的 supervisord.conf 如下:

[program:nginx]
command=nginx
autorestart=false

我将 autorestart 设置为 false,因为据我所知,nginx 命令只是启动主进程和工作进程,然后以状态码 0 退出。如果我将 autorestart 设置为 true,它只会继续尝试重新启动该 nginx命令,后续重试将失败,因为主/工作进程已经在运行并绑定(bind)到端口。

从表面上看,这似乎没问题,因为如果我尝试杀死一个工作进程,主进程将启动另一个工作进程来代替它。但是如何确保主进程也保持运行?

最佳答案

您需要附加 daemon off;给您的nginx.conf配置指示 nginx 在前台运行。

然后将您的主管节修改为:

[program:nginx]
command=nginx
autorestart=true

它仍然会产生主/工作进程/子进程,并且可以在生产设置中以这种方式使用。在这种情况下,主管在后台运行进程并控制和监督它。

看到这个 FAQ entry

关于nginx - 确保 nginx 主进程保持运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30807687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com