2012-01-04 3 views
6

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

Вот соответствующая линия от моего 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?

Примечание: Я нашел this issue with Foreman, и мне интересно, связано ли это.

ответ

9

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

daemon off; 

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

+0

Yep , отлично работает сейчас. Благодаря! Я предполагаю, что это одно из допустимых исключений для _ «не использовать' daemon off' in production »_ правило, упомянутое в документах nginx для [daemon] (http://wiki.nginx.org/CoreModule#daemon) , –

+3

Вы можете сделать '/ usr/local/nginx/sbin/nginx -g 'daemon off;" вместо изменения nginx.conf, но 'daemon off' предназначен для разработки. Используется ли мастер в производстве? – PhilT

Смежные вопросы