2011-09-20 60 views
3

我目前正在测试从Apache mod_wsgi移动到Nginx and FastCGI的Django nginx的管理媒体

我已经准备好了整个安装和目前运行Django 1.1.2

在我的老Apache configuration一个CentOS 5.4 box测试它,我不得不和别名设置为/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 

回答

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

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 /从根到别名来代替。