2009-01-14 11 views
6

Estoy desarrollando una aplicación con mod _ perl y reiniciar el servidor cada vez que cambio el código es una gran resistencia. Me gustaría seguir utilizando mod _ perl para el desarrollo porque es lo que planeo usar para el servidor en vivo. No vi nada en la documentación sobre cómo hacer esto.¿Cómo cambio mod_perl los archivos fuente en el cambio?

¿Pensamientos?

Respuesta

9

Creo que Apache2 :: Reload logrará lo que está buscando. Sin embargo, recuerde eliminar toda esta implementación una vez que esté listo para poner la aplicación en producción.

Monitor de todos los módulos en% INC

para monitorear y recargar todos los módulos en INC% al inicio del procesamiento del pedido, sólo tiene que añadir la siguiente configuración a su httpd.conf:

PerlModule Apache2::Reload 
PerlInitHandler Apache2::Reload 

Cuando se trabaja con filtros de conexión y módulos de protocolo Apache2 :: Reload debe invocarse en la etapa pre_connection:

PerlPreConnectionHandler Apache2::Reload 

Registro Módulos Implícitamente

Para recargar únicamente los módulos que se han registrado con Apache2 :: Volver a cargar, añadir lo siguiente a la httpd.conf:

PerlModule Apache2::Reload 
PerlInitHandler Apache2::Reload 
PerlSetVar ReloadAll Off 
# ReloadAll defaults to On 

entonces cualquier módulos con la línea:

use Apache2::Reload; 

Se volverá a cargar cuando cambien.

Para obtener información, consulte this documentation page. Espero que esto ayude.

2

que utilizan esta solución, a partir de Perrin Harkins través PerlMonks:

Conjunto MaxRequestsPerChild a 1, a continuación, cargar los módulos potencialmente cambiantes en el niño, no el padre (obviamente sólo para entornos de desarrollo). Cada solicitud afectará a un servidor secundario nuevo, que cargará todos sus módulos potencialmente cambiantes de nuevo.

De "A better way to see module changes in a running web server"

Cuestiones relacionadas