我将守护进程工具与 gearman 一起使用,
我在想是否应该为 Nginx 配置守护进程工具
,或者它是否会自动处理其关闭(如果出现内存问题等)?
答案1
作为一个十三年前就爱上 daemontools 的人,我也尝试监督所有事情。不过 nginx 有点不稳定,您必须至少daemon off;
在配置中使用它来在前台运行它,master_process off;
如果您真的不想让它生成任何子进程。只需exec
从运行程序中使用它,它就会像您期望的那样运行。
然而,我却反其道而行之。我逐渐接受 nginx 内置了监督功能。您会注意到,当您运行它时,您会得到如下结果:
$ psg nginx
root 1361 1 0 Mar31 ? 00:00:00 nginx: master process /usr/sbin/nginx
www-data 1362 1361 0 Mar31 ? 00:18:10 nginx: worker process
www-data 1363 1361 0 Mar31 ? 00:18:44 nginx: worker process
$ pstree -p 1361
nginx(1361)─┬─nginx(1362)
└─nginx(1363)
主进程本质上是supervise
。它非常轻量,仅负责确保工作进程正常运行。我从来没有一次即使是在一些相当繁忙的环境中,它也崩溃了。所以现在我只需init
停止/启动它,然后担心我需要监督的服务。
还有其他注意事项。查看官方文档对此有何说明:http://nginx.org/en/docs/faq/daemon_master_process_off.html