Alf*_*ang 23 django ubuntu nginx gunicorn
我现在正在ubuntu 12上部署一个带有nginx和gunicorn的django应用程序.
我配置nginx虚拟主机文件如下:
server {
listen 80;
server_name mydomain.com;
access_log /var/log/nginx/gunicorn.log;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static/ {
root /var/www/django/ecerp/erp/static/;
}
}
Run Code Online (Sandbox Code Playgroud)
我可以很好地请求django,但是当请求一个静态文件时,它会响应404状态.
我确定静态文件的根路径是正确的.
有人可以帮忙吗?
Mar*_*say 38
你应该使用alias
而不是root
.root
将尾随URL部分附加到本地路径(例如http://test.ndd/trailing/part,它将添加/尾随/部分到您的本地路径).而不是那样,alias
完全符合您的要求:当请求http://test.ndd/static/时,/ static将完全映射到您的别名,而不会再次附加静态.
TL; DR - 你应该检查你的文件权限
偶然发现这个问题并且我已经使用alias
而不是root,所以虽然现有答案已达到要点,但以下内容可能对其他人有用.
在我的情况下,解决了相同的症状竟然是在文件中static/
有root
作为所有者.
一个简单的chown www-data:www-data .
解决了问题,并没有更多404
.
归档时间: |
|
查看次数: |
13577 次 |
最近记录: |