2012-08-04 142 views
0

我刚刚为我的第一个django服务器配置了一个非常基本的django网站。我使用Django 1.4和Nginx 1.0.14和主管和gunicorn。Nginx没有提供Django静态文件

问题是Nginx没有提供静态文件,但我不知道为什么,因为我第一次使用它。

这是真正活过我的静态文件的路径:

/home/cristian/envs/santalupe.com/santalupe/santalupe/static 

这是我在nginx的配置文件中已经设置:

# Django admin media. 
location /media/ { 
autoindex on; 
    alias /home/cristian/envs/santalupe.com/lib/python2.7/site-packages/django/contrib/admin/static/; 
} 

# Site media 
location /static/ { 
autoindex on; 
    alias /home/cristian/envs/santalupe.com/santalupe/santalupe/static/; 
} 

请让我知道我需要什么在这种情况下做,因为我不知道真正的问题。

+0

你刚刚得到404s吗?这些规则是否在nginx配置中的'location /'之上或之下? – 2012-08-04 16:16:05

+0

我得到404s。规则在'位置/'上面 – 2012-08-04 17:01:22

+0

而且文件肯定在该文件夹中? nginx是否正常将正常连接传递到应用程序服务器上? – 2012-08-04 17:04:08

回答

1

你不是在服务于Nginx的管理员媒体,只是普通的媒体。尝试是这样的:

location /admin/media/ { 
    # this changes depending on your python version 
    root /home/cristian/envs/santalupe.com/lib/python2.7/site-packages/django/contrib; 
} 

注意如何有没有尾随斜线和路径上的contrib结束。我在生产中成功使用了这个代码。

1

也许manage.py collectstatic在服务器上有帮助吗?

+0

Did'n为我工作,我只是跑这个命令,并重置项目,没有任何改变 – 2012-08-04 17:03:45