2015-04-16 151 views
1

我想部署我的django項目。在我的Django的設置,靜態文件設置是這樣的:Nginx給django靜態文件403代碼

STATIC_URL = '/static/' 
STATIC_ROOT = '/root/www/static' 

所以我的靜態文件在/根/ WWW /靜態目錄,我可以在服務器中看到它們。我的nginx服務器塊是這樣的:

server{ 
    listen 80; 
    location /static/ { 
    root /root/www; 
    } 

    location/{ 
    proxy_pass http://127.0.0.1:8000; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

當我瀏覽我的應用程序與瀏覽器中,我得到

403 - 禁止

錯誤靜態文件。

+4

你爲什麼把它們放在「/ root」下?這是僅供root用戶訪問的文件。 –

+0

@DanielRoseman無特殊原因。我只是在努力。從根目錄移動它們並更改設置。現在很好。發佈這個答案,所以我可以接受^^ – Sefa

回答

1

您不應該將靜態文件放在/root下:這是爲了只能通過root用戶訪問的文件。

0

問題似乎與用戶權限有關。您需要更改部署該應用程序的用戶可以訪問的路徑。

的位置應該是這個樣子:

location /static { 
     alias /home/ubuntu/srv/webapps/[app_name]/static; 
    } 

嘗試this教程以獲得更多幫助。