with deploy python django apache mod-wsgi django-wsgi

python - with - apache django deploy



Django+apache & mod_wsgi: tener que reiniciar apache después de los cambios (3)

Configuré mi servidor de desarrollo de esta manera:

Ubuntu, Apache, mod_wsgi, Python 2.6

Trabajo en el servidor desde otra computadora conectada a él.

La mayoría de las veces, los cambios no afectan a la aplicación a menos que reinicie Apache. En algunos casos, los cambios surten efecto sin reiniciar el servidor web, pero después de decir que se cargan 3 o 4 páginas, la aplicación podría comportarse como solía comportarse antes de los cambios.

Hasta ahora solo recargué Apache cada vez que tengo el servidor de desarrollo aquí conmigo, pero HELL después de un tiempo se volvió muy molesto. ¿Cómo puedo evitar esto?

No puedo trabajar con el servidor de desarrollo porque necesito un entorno lo más cercano posible al de producción.

Gracias


Apache carga el entorno Django cuando se inicia y sigue ejecutándolo incluso cuando se cambia la fuente.

Le sugiero que use Django ''runserver'' (que se reinicia automáticamente en los cambios) en las sesiones de desarrollo pesado, a menos que necesite algunas características específicas de Apache (como multihilo).

Tenga en cuenta también que los cambios en las plantillas no requieren el reinicio del servidor web.


Mi sugerencia es que ejecute la aplicación en modo daemon. De esta manera, no será necesario reiniciar Apache, solo touch my_handler.wsgi y el demonio sabrá que debe reiniciar la aplicación. Apache httpd no será solo tuyo (en producción), por lo que es justo no reiniciarlo en cada actualización.


Ningún cambio requiere que reinicies. Simplemente necesita volver a cargar utilizando "sudo /etc/init.d/apache2 reload". Que he dado alias en mi bashrc a ''a2reload''.

function a2reload (){ sudo /etc/init.d/apache2 reload }