2017-04-09 10 views
2

静的ファイルをnGinx経由で配信することができず、代わりに404が表示されます。私はエラー(error.logに示されている)を見ることができます、私はそれを修正する方法を見ることができません。Django、nGinxで静的ファイルを提供するとエラー404

STATIC_ROOT = os.path.join(PROJECT_DIR, "staticfiles/") 
STATIC_URL = '/static/' 

DEBUG=False 

urls.py

urlpatterns += patterns('', (
     r'^static/(?P<path>.*)$', 
     'django.views.static.serve', 
     {'document_root': 'static'} 
)) 

settings.py(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に付加されたログであります理由がわからない)

+3

を試してみてください。 – zmbq

+0

私は知っています。最初のプロジェクトは実際にはユーザー名です。私のサーバーのroot以外のユーザーのそれぞれのユーザー名は、プロジェクトと同じです。どうして?それは醜いですが、それは同じ画面上の様々な端末を同時に扱うときにエラーが起こりにくいです。私はあなたが他の2つについて説明する必要はないと確信しています。 – xpanta

答えて

5

私はちょうど家/プロジェクト/プロジェクト/プロジェクトは非常に良い、ディレクトリ名ではありません/ことを言いたい。この

location /static/ { 
    alias /home/project/project/project/staticfiles; 
} 
+0

それはうまくいった。どうやって?どうして? – xpanta

+1

助けてくれるhttp://stackoverflow.com/questions/10631933/nginx-static-file-serving-confusion-with-root-alias – itzMEonTV

関連する問題