Verry 특이한 문제가 있습니다. 정적 파일이 하나도로드되지 않았습니다. 404
이 발생했습니다. 정적 파일이 nginx
서버에서 완전히 제공되도록 DEBUG=False
으로 프로덕션 환경을 설정합니다.Django 앱 + nginx가 서버 정적 파일에 실패합니다.
설정/production.py
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATIC_URL = '/static/'
DEBUG = TEMPLATE_DEBUG = False
의 nginx/사이트 사용/MyApp를
server {
listen 80; ## listen for ipv4; this line is default and implied
server_name myapp.com;
access_log /var/log/nginx/myapp.log;
error_log /var/log/nginx/myapp.log;
root /home/apps/myapp/;
location/{
gzip_static on;
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
}
location /static/ { # STATIC_URL
alias /home/apps/myapp/static/; # STATIC_ROOT
expires 30d;
}
location /media/ { # MEDIA_URL
alias /home/apps/myapp/media/; # MEDIA_ROOT
expires 30d;
}
}
myapp.log
2014/04/08 04:20:11 [error] 22178#0: *590 open() "/home/apps/myapp/staticgrappelli/stylesheets/mueller/grid/output.css" failed (2: No such file or directory), client: 77.89.196.6, server: myapp.com, request: "GET /static/grappelli/stylesheets/mueller/grid/output.css HTTP/1.1", host: "myapp.com", referrer: "http://myapp.com/admin/"
77.89.196.6 - - [08/Apr/2014:04:20:11 +0200] "GET /static/grappelli/stylesheets/mueller/grid/output.css HTTP/1.1" 404 200 "http://myapp.com/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36"
617,451,515,이 예에서 내 정적 루트 /home/apps/myapp/static
및 응용 프로그램 정적 파일 사이의 실종 /
grappelli/stylesheets/mueller/grid/output.css
을 유의하시기 바랍니다.
이 문제가 발생하는 이유와 해결 방법에 대한 단서가있는 사람이 있습니까?
UPDATE (SOLUTION)
확인, 문제는 nginx
구성 파일에서 /static/
폴더를 지정하는 이유가 없기 때문에 Django's
정적 파일이 www.myapp.com/static/
폴더에서 기본적으로 제공하는 것입니다. 다른 사람이 같은 문제가있는 경우 그래서, 단지 nginx/sites-enabled/myapp
파일에서 다음 부분을 제거 :
location /static/ { # STATIC_URL
alias /home/apps/myapp/static/; # STATIC_ROOT
expires 30d;
}
location /media/ { # MEDIA_URL
alias /home/apps/myapp/media/; # MEDIA_ROOT
expires 30d;
}
- myapp.log는 Nginx 로그 파일입니까? – vaultah
네, 그것은'nginx' 로그 파일입니다. 그러나 그것을 알아내어 해결책으로 업데이트를 게시 할 것입니다. –