Django的,服务nginx的静态文件给出了错误404
问题描述:
我无法通过nginx的静态文件和我得到404来代替。我可以看到错误(显示在error.log中),我只是看不到如何解决它。Django的,服务nginx的静态文件给出了错误404
urls.py
urlpatterns += patterns('', (
r'^static/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': 'static'}
))
settings.py
STATIC_ROOT = os.path.join(PROJECT_DIR, "staticfiles/")
STATIC_URL = '/static/'
DEBUG=False
(做现在collectstatic和所有静态文件都在 'staticfiles /')
nginx的配置
server {
listen 80;
server_name my_ip;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/project/project/project/staticfiles;
}
location/{
include proxy_params;
proxy_pass http://unix:/home/project/project/project.sock;
}
}
base.html文件
{% load staticfiles %}
<link rel="stylesheet" href="{% static '/css/main.css' %}">
,这是日志
error.log中
2017/04/09 10:57:40 [error] 4719#4719: *182 open() "/home/project/project/project/staticfiles/static/images/home-lock.png" failed (2: No such file or directory)
( “静态/” 在静态URL添加我不明白为什么)
我只想说的/ home /项目/工程/项目是不是一个很好的目录名。 – zmbq
我知道。第一个'项目实际上是用户名。我的每个服务器的非root用户的用户名与项目相同。为什么?它是难看但在同一时间在同一屏幕上的各种终端处理时,它是不容易出错。我相信你不需要解释其他两个。 – xpanta