私はnginxのはジャンゴ+ nginxの+ Gunicorn - 静的ファイルのための404をデバッグが
の/ etc/nginxの/サイト利用可能/デフォルトの静的ファイルを提供する方法を知らない偽です:
upstream example.com {
server unix:/home/www/example/env/run/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name example.com;
client_max_body_size 4G;
access_log /home/www/example/logs/nginx-access.log;
error_log //home/www/example/logs/nginx-error.log;
location /static/ {
alias /home/www/example/codeab/static/;
}
location /uploads/ {
alias /home/www/example/codeab/uploads/;
}
location/{
include proxy_params;
proxy_pass http://unix:/home/www/example/env/run/gunicorn.sock;
}
# Error pages
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/www/example/templates/;
}
error_page 404 /401.html;
location = /401.html {
root /home/www/example/codeab/templates/;
internal;
}
}
Djangoの設定nginxのがあるようですDEBUGを= Falseの
前の.py
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static_content/'),
)
STATIC_ROOT = os.path.join(BASE_DIR,'static/')
はまた、私がやったcollectstatic上記の設定ファイルを考慮していないので、404ページはカスタム401.htmlページを表示していません。
設定を編集した後、私は助けるか、私はどんな事をしないのです場合は私に知らせてください
sudo ln -s /etc/site-available/default /etc/site-enabled/default
service nginx reload
sudo service nginx restart
によってサイト対応にそれをリンクさ。
ようこそスタックオーバーフロー!問題の詳細な説明を投稿していただきありがとうございます。私たちがあなたの問題の要点に立ち入る前に、いくつかの事柄。 NGINXに設定ファイルが表示されない場合は、静的ファイルに対して404をどのように返しますか?あなたが最後に述べたリンクは正しいですが、 'include/etc/site-enabled/*;'や 'include/etc/site-enabled/* 'を使っているなら' nginx.conf'をチェックする必要があります。 .conf; '* .conf'の場合、' default'の名前を 'default.conf'に変更する必要があります。また、あなたの 'site-enabled'と' site-available'が '/ etc /'に座っているのがちょっと奇妙です。 –
これは標準インストールではありません。カスタム4xxテンプレートの場合:NGINXがこれを提供している場合は、静的HTMLファイルである必要があります。それはDjangoによって処理されていないので、それにはtemplatetagsを持つことはできません。私の提案は、このためにDjangoの内部エラーテンプレートを使用することです。最後に、あなたの静的ファイルについては、configが正しいです。私が変える唯一のものは 'location ^〜/ static/{'です。そうすれば、NGINXは正規表現のマッチをしなければならず、ストリングの比較ができないことが分かります。 –
こんにちはKeenan、すばやい応答に感謝します。私は自分のnginx.confをチェックしました、 'include/etc/site-enabled/*;'なのでファイル名は正しいです、つまり 'default' – anuj249