Django nginx管理媒体

时间:2011-09-20 11:49:07

标签: python django nginx django-settings django-media

我目前正在测试从Apache mod_wsgi转到Nginx and FastCGI

我已准备好整个安装,目前正在运行CentOS 5.4 box的{​​{1}}上进行测试

在我原来的Django 1.1.2我有Apache configuration的别名设置和一个名为/media/

的设置

显示如下。

/mediaadmin/

如何为Nginx配置获得相同类型的设置,目前这里是我所拥有的一小部分,即使在重新启动Nginx之后我仍然没有看到我的管理员端使用正确的CSS,图像等解析。

Alias /media/ "/www/django_test1/omu2/media/"
<Directory "/www/django_test1/omu2/media">

Alias /mediaadmin/ "/opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media/"
<Directory "/opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media">

我的settings.py

server {
    location /media/ {
        root /www/django_test1/omu2;
    }
    location /mediaadmin/ {
        root /opt/python2.6/lib/python2.6/site-packages/django/contrib/admin;
    }
}

2 个答案:

答案 0 :(得分:4)

尝试以下配置:

location /mediaadmin/ {
    alias /opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media/;
    expires max;
    add_header Cache-Control public;
}

我将路径更改为/django/contrib/admin/media/,因为我猜我们的管理媒体文件正常在此文件夹中。

提示:您的MEDIA_ROOTADMIN_MEDIA_PREFIX应为absolute

答案 1 :(得分:0)

我还发现以下行引起了很多混乱

location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
            access_log   off;
            expires      30d; 
        }

我对此进行了评论,并将/ mediaadmin /从root更改为别名。