なぜnginxエイリアスが動作しないのか分かりません。静的ファイルフォルダのnginxエイリアスが機能しない
なぜこの行は動作しません:
location /static/ {
alias /home/django11/example.com/finansuinfo/static_root/;
}
は実際に多分それは機能していますが、私の管理ページの静的ファイルが提供されていません。静的/管理者/ ...が存在しないというエラーが表示されます。
私はそれが唯一の静的フォルダ内のファイルを提供していますが、すべてのファイルがここmanage.py collectstatic
によって収集されstatic_rootフォルダに私の設定ではないと思います。私は
server {
listen 80;
server_name example.com www.example.com;
root /home/django11/example.com/example;
location/{
include uwsgi_params;
uwsgi_pass unix:/home/django11/example.com/example/example.sock;
}
location /static/ {
alias /home/django11/example.com/example/static_root/;
}
# Media: images, icons, video, audio, HTC
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
# CSS and Javascript
location ~* \.(?:css|js|woff)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
}
エイリアスが次の理由で動作しないことが判明しました:
# Media: images, icons, video, audio, HTC
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
# CSS and Javascript
location ~* \.(?:css|js|woff)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
修正方法はありますか?なぜなら、このstatic_rootが削除されるからです。 nginxの中location
設定のドキュメントを見てみると
STATUC_URL変数とSTATIC_ROOT変数にはどのような値がありますか? ディレクトリの所有権を確認しましたか? – Satevg
これは私のsettings.pyファイルであり、ディレクトリ所有権を確認することは何を意味していますか?=() os.path.join(BASE_DIR、 '静的'、 ) STATIC_URL = '/静的/' STATICFILES_DIRS STATIC_ROOT = os.path.join(BASE_DIR、 'static_root')あなたが – django11
静的ファイルアクセスしようとすると、あなたが後の場所で使用したファイル拡張子のうちの1つですconfigs CSS、JS、またはメディアファイル? – AKS