Serving static files out from python is not good idea since there is more effective way to do that. Why not let apache do this? Suppose you followed one of two previous posts that let you configure apache to server django application using
mod_python or
mod_wsgi. The idea is simple, we define an alias for the media directory of the django application and set it handler to none. Here is a partial example of apache site configuration file:
...
Alias "/static/admin/" "/usr/lib/pymodules/python2.7/django/contrib/admin/media/"
<Location "/static/admin/">
SetHandler None
</Location>
Alias "/static/" "/usr/local/lib/hello/static/"
<Location "/static/">
SetHandler None
</Location>
And finally let turn on static content expiration.
...
<IfModule mod_expires.c>
<FilesMatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 7 days"
</FilesMatch>
</IfModule>
Enable
expires module and restart apache2.
a2enmod expires
/etc/init.d/apache2 restart
No comments :
Post a Comment