Форман не работает с NGINX

Я пытаюсь использовать Foreman (версия 0.31.0) для управления процессами нашего приложения, но мне не очень везет с nginx. (nginx/1.0.10 + Phusion Passenger 3.0.11).

Вот соответствующая строка из моего Procfile:

nginx: sudo /home/ubuntu/nginx/sbin/nginx

Когда я запускаю приложение, Форман сообщает, что nginx запускается, а затем сразу завершается:

$ foreman start
21:18:28 nginx.1   | started with pid 27347
21:18:28 nginx.1   | process terminated
21:18:28 system    | sending SIGTERM to all processes

Однако nginx на самом деле работает, хотя Форман сообщает об обратном.


Точно так же, если я экспортирую в Upstart:

rvmsudo foreman export upstart /etc/init -a my_app -u ubuntu

и запускаем sudo start my_app, nginx запускается корректно. Но sudo stop my_app не останавливает nginx. Он продолжает работать.

Есть ли способ заставить nginx работать с Foreman?

Примечание. Я обнаружил эту проблему у Формана и мне интересно, связана ли она.


person Kyle Fox    schedule 04.01.2012    source источник


Ответы (1)


Вы захотите запустить nginx в режиме переднего плана, добавив следующее в свой nginx.conf

daemon off;

Вы можете указать собственный nginx.conf для nginx с аргументом -c

person David Dollar    schedule 04.01.2012
comment
Ага, теперь работает отлично. Спасибо! Я предполагаю, что это одно из допустимых исключений из правила не использовать daemon off в рабочей среде, упомянутого в документации nginx для демон. - person Kyle Fox; 05.01.2012
comment
Вы можете сделать /usr/local/nginx/sbin/nginx -g "daemon off;" вместо изменения nginx.conf, но daemon off предназначено для разработки. Бригадир используется в производстве? - person PhilT; 23.05.2012