[英]Tried everything but still cannot serve static files of Django project via nginx+gunicorn
我必須通過nginx + gunicorn部署Django項目(nginx提供靜態文件,gunicorn提供其他文件。)
項目設置文件夾中的dev.py文件具有以下設置-
STATIC_ROOT = os.path.join(BASE_DIR,'static')
STATIC_URL = '/static/'
nginx.conf看起來像這樣-
server {
listen 8000;
server_name localhost;
access_log /home/user/access.log;
error_log /home/user/error.log;
location / {
proxy_pass http://localhost:8001;
}
location /static/ {
autoindex on;
alias /home/user/project_revamped/project/static;
}
}
我將服務器運行為-
gunicorn project.wsgi:application --bind=127.0.0.1:8001
在URL上位於localhost:8001的服務器上訪問時,顯示的頁面沒有任何靜態文件。
未填充nginx的error.log。 錯誤是瀏覽器試圖從URL請求靜態文件
localhost:8001/static/...
但是它應該從URL請求文件-
localhost:8000/static/...
因為nginx配置為通過該網址提供服務。
server {
listen 8000;
server_name localhost;
root /home/user/project_dir/project;
access_log /home/user/access.log;
error_log /home/user/error.log;
location /static/ {
alias /home/user/project_dir/project/static/;
}
location / {
proxy_set_header Host $http_host;
proxy_pass http://localhost:8001;
proxy_redirect default;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.