2011-02-02 6 views
10

Estoy usando Rails 3 con Apache y Passenger. Desde que cambié de Mongrel a Passenger, encuentro que tengo que reiniciar Apache cada vez que cambio mi código. ¿Es este el comportamiento previsto? ¿Es la única forma de evitar este problema utilizar Mongrel en desarrollo?Tengo que reiniciar Apache cada vez que cambio mi código de Rails

+0

Hace que esto ayude: http://stackoverflow.com/questions/1106996/why-do-i-have-to-restart-apache-to-properly-refresh-a-ruby-on-rails-view-in -the-b y la última parte de http://blog.bsodmike.com/2010/06/05/howto-ruby-on-rails-with-apache-passenger-mod_rails-ubuntu-lucid-lynx-10-04/ – Zabba

+0

¿Estás hablando de producción o desarrollo? –

+0

No sé - También estoy teniendo problemas para controlar si estoy en producción o desarrollo. –

Respuesta

21

Asumiendo que tiene que reiniciar Apache incluso para el código del modelo/vista/controlador, parecería como si usted ha configurado de pasajeros para ejecutar su aplicación en el entorno de producción. Puede solucionar esto agregando RailsEnv development a su host virtual.

Algunos códigos requerirán reiniciar la aplicación; ejemplos de esto es cualquier cosa en config/initializers y vendor.

Hay una forma de reiniciar solo la aplicación (y no todo el servidor), que es simplemente touch tmp/restart.txt. Esto actualizará la marca de tiempo de tmp/restart.txt, que activará Passenger para reiniciar la aplicación.

Además, puede hacer touch tmp/always_restart.txt. Esto le indicará a Passenger que reinicie la aplicación en cada carga de la página. Esto puede ser útil si está trabajando en secciones que requieren reinicios (como los ejemplos mencionados anteriormente). Para detener el reinicio automático, tendrá que eliminar el archivo, como este: rm tmp/always_restart.txt.

+0

Sí, "' touch tmp/restart.txt' "hace el truco para mí! –

+0

Me perdí 'tmp/always_restart.txt', mucho mejor que presionar manualmente' restart.txt' cada vez. – joemaller

0

También puede usar pasajero solo en desarrollo usando el modo independiente. Desde el directorio del proyecto, el tipo

 
passenger start 
Cuestiones relacionadas