2012-01-04 10 views
6

Próbuję użyć Foreman (wersja 0.31.0) do zarządzania procesami naszej aplikacji, ale nie mam dużo szczęścia z nginx (nginx/1.0.10 + Phusion Passenger 3.0.11).Foreman nie pracuje z NGINX

Oto odpowiedni wiersz z mojego Procfile:

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

Kiedy uruchomić aplikację, Foreman informuje, że nginx jest uruchomiony, a następnie natychmiast rozwiązana:

$ 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 

Jednak nginx jest uruchomiony, mimo że Foreman podaje inaczej.


Podobnie, jeśli eksport do Upstart:

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

i uruchomić sudo start my_app, nginx zacznie prawidłowo. Ale sudo stop my_appnie zatrzymuje nginx. Działa dalej.

Czy istnieje trik, aby uzyskać wtyczkę nginx do pracy z Foremanem?

Uwaga: Znalazłem this issue with Foreman i zastanawiam się, czy jest to powiązane.

Odpowiedz

9

Będziemy chcieli, aby uruchomić w trybie nginx planie poprzez dodanie następujących do nginx.conf

daemon off; 

można określić niestandardową nginx.conf do nginx z -c argumentu

+0

Yep działa teraz idealnie. Dzięki! Zakładam, że jest to jeden z dopuszczalnych wyjątków dla _ "nie używaj' daemon off' w produkcji "_ reguła wspomniana w dokumentach nginx dla [daemon] (http://wiki.nginx.org/CoreModule#daemon) . –

+3

Możesz zrobić demona '/ usr/local/nbinx/sbin/nginx -g" off; "' zamiast modyfikować plik nginx.conf, ale 'daemon off' jest przeznaczony do programowania. Czy brygadzista jest używany w produkcji? – PhilT