2012-01-04 18 views
6

Estoy tratando de usar Foreman (versión 0.31.0) para administrar los procesos de nuestra aplicación pero no estoy teniendo mucha suerte con nginx (nginx/1.0.10 + Phusion Passenger 3.0.11).Foreman no funciona con NGINX

Aquí está la línea relevante de mi Procfile:

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

Cuando inicio de la aplicación, capataz informa que nginx se inicia y luego inmediatamente terminada:

$ 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 

Sin embargo, nginx se está ejecutando, aunque Foreman informa lo contrario.


mismo modo, si la exportación a Upstart:

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

y corro sudo start my_app, nginx se inicia correctamente. Pero sudo stop my_appno detiene nginx. Continúa corriendo.

¿Hay algún truco para hacer que nginx funcione con Foreman?

Nota: Encontré this issue with Foreman y me pregunto si está relacionado.

Respuesta

9

usted querrá ejecutar nginx en el modo de primer plano, añadiendo lo siguiente a su nginx.conf

daemon off; 

Puede especificar una costumbre nginx.conf a nginx con el argumento -c

+0

Sí , funciona perfectamente ahora ¡Gracias! Supongo que esta es una de las excepciones permitidas para _ "no usar' daemon off' en la regla de producción _ mencionada en los documentos nginx para [daemon] (http://wiki.nginx.org/CoreModule#daemon) . –

+3

Puede hacer '/ usr/local/nginx/sbin/nginx -g" daemon off; "' en lugar de modificar el nginx.conf pero 'daemon off' es para desarrollo. ¿El capataz se usa en producción? – PhilT