2012-08-04 161 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