2017-12-08 10 views
0

私は自分のローカルサーバー上で次にsettings.pyを持っています。djangoとnginxを使って静的ファイルとメディアファイルを設定する方法は?

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"), 
) 
STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_root") 
MEDIA_URL = '/media/' 
MEDIA_ROOT= os.path.join(os.path.dirname(BASE_DIR), "media_root") 

Nginxは、静的およびメディアを処理する必要があります。はい。 私はプロダクトサーバでgunicornとスーパーバイザを使用しています。 私のnginxの設定ファイル:

server { 
    listen 8000; 
    server_name 194.87.95.46; 
    access_log /var/log/nginx/example.log; 

    location /static { 
     alias /home/split/static_root/; 
    } 


    location /media { 
     alias /home/split/media_root/; 
    } 

    location/{ 
     proxy_pass http://127.0.0.1:8003; 
     proxy_set_header Host $server_name; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
    } 

しかし、nginxのdoesntの静的およびメディアを扱うには、問題は何ですか?

+0

あなたがしたいこと、試したこと、得られる結果を少し広げる必要があります。 – jdv

+0

djangoページテンプレートタグとWebサーバーログのGET行の両方に失敗した静的ファイル参照を表示します。 –

+0

サーバーでpython manage.py collectstaticを実行しましたか? – shalbafzadeh

答えて

0

I あなたの問題は後続のスラッシュによって引き起こされます。場所の定義にはスラッシュは付いていませんが、エイリアスにはあります。これを代わりに試してみてください:

location /static/ { 
    alias /home/split/static_root/; 
} 

location /media/ { 
    alias /home/split/media_root/; 
} 
関連する問題