Django nginx 管理员 媒体

3
我目前正在测试从Apache mod_wsgi迁移到Nginx和FastCGI。我已经完成了整个安装过程,并且现在正在一个运行Django 1.1.2的CentOS 5.4盒子上进行测试。在我的旧的Apache配置中,我设置了一个用于/media/的别名以及另一个名为/mediaadmin/的别名。以下是它的显示:
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">

如何获得与我的Nginx配置相同类型的设置?当前这是我拥有的一部分代码,即使重新启动了 Nginx,我仍然看不到我的管理员界面以正确的CSS,图像等形式解决。

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

我的settings.py文件

BASE_PATH = os.path.dirname(os.path.abspath(__file__))
BASE_URL = '127.0.0.1'

MEDIA_ROOT = "%s/media/" % BASE_PATH
MEDIA_URL = "%s/media/" % BASE_URL
ADMIN_MEDIA_PREFIX = "%s/mediaadmin/" % BASE_URL
2个回答

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应该是绝对路径


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/ 从根目录改为别名。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接