Django + apache & mod_wsgi: having to restart apache after changes


I configured my development server this way:

Ubuntu, Apache, mod_wsgi, Python 2.6

I work on the server from another computer connected to it.

Most of the times the changes don't affect the application unless I restart Apache. In some cases the changes take effect without restarting the webserver, but after let's say 3 or 4 page loads the application might behave like it used to behave previous to the changes.

Until now I just reloaded everytime apache as I have the development server here with me, but HELL after a while got so annoying. How can I avoid this?

I can't work with the development server as I need an environment that is as close as possible as the production one.


11/17/2010 3:30:08 PM

Accepted Answer

My suggestion is that you run the application in daemon mode. This way you won't be required to restart apache, just touch my_handler.wsgi and the daemon will know to restart the app. The apache httpd will not be only yours (in production) so it is fair not to restart it on every update.

11/17/2010 3:42:55 PM

No changes require you to RESTART. You simply need to reload using "sudo /etc/init.d/apache2 reload". Which I have aliased in my bashrc to 'a2reload'.

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

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow