Я использую инструменты демона с gearman
Я думал, стоит ли мне настраивать инструменты демона для Nginx
или он автоматически завершает работу (в случае проблем с памятью и т. д.)?
Как человек, влюбившийся в 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