rails ruby-on-rails nginx capistrano passenger

ruby on rails - rails - ¿Cómo hago que nginx y el pasajero reinicien automáticamente después de un despliegue?



passenger ruby nginx (2)

Si aún te enfrentas al problema, puedes usar la gema Monit, en capstraino funciona muy bien.

Actualmente tengo una aplicación de rieles desplegada en un servidor privado virtual.

Uso Capistrano, Nginx y pasajero para ejecutar mi aplicación de rieles en el servidor.

Por alguna razón, nunca puedo obtener el código actualizado para mostrar en el sitio después de haber realizado una implementación de límite: actualización.

La implementación funciona bien y el código incluso se ve en el servidor en vivo a través de Vim, pero si navego al sitio en vivo no se mostrará.

Mi solución actual es reiniciar el servidor, comenzando nginx y el pasajero después de que el servidor se inicia una copia de seguridad.

lo que me preocupa es que si alguien inicia sesión en el sitio cuando implemente y reinicie, los eliminará del sitio.

¿Alguien tiene alguna idea?


Si ejecuta touch tmp/restart.txt desde el directorio raíz de sus raíles, el pasajero reiniciará la aplicación. No debería tener que reiniciar nginx. Después de que la marca de tiempo del archivo restart.txt cambie, Passenger se reiniciará para la próxima solicitud. Si su aplicación tarda un poco en arrancar, puede forzarlo haciendo una solicitud inmediatamente después de tocar el archivo.

No necesita preocuparse por expulsar a alguien del sitio, no reiniciará el servidor si hay una solicitud en proceso.