2014-12-22 4 views
1

CentOS 6.6, Python 6.6, uwsgi 2.0.8 및 nginx 1.0.15를 실행하려고하는 플라스크 응용 프로그램이 있습니다. selinux를 사용할 수 없습니다.템플릿에서 CSS 파일을 사용하지 않는 nginx/uwsgi/flask

플라스크를 사용하여 실행되지만 nginx로 설정하는 동안 웹 사이트가 표시되지만 CSS 파일이 적용되지 않습니다.

웹 페이지 원본을 보면 CSS 파일 ('/ static/css/style.css')에 올바르게 연결되어 있으며 원본에서 열면 원본이 열리지 만 적용 대상이 아닙니다. 웹 페이지. 그러나 이미지를로드하고 표시합니다.

wsgi ini 파일을 사용하여 실행 중입니다. ($ 플라스크/빈/uwsgi --ini uwsgi.ini)

내 wsgi.ini 설정 파일 :

[uwsgi] 
socket = 127.0.0.1:5000 
chdir = /home/apps/portal 
home = /home/apps/portal/flask 
module = app:app 
master = true 
enable-threads = True 
processes = 5 
vacuum = True 


내의 nginx 설정 파일 :

worker_processes 1; 

events { 

    worker_connections 1024; 

} 

http { 

    sendfile on; 
    gzip    on; 
    gzip_http_version 1.0; 
    gzip_proxied  any; 
    gzip_min_length 500; 
    gzip_disable  "MSIE [1-6]\."; 
    gzip_types  text/plain text/xml text/css 
         text/comma-separated-values 
         text/javascript 
         application/x-javascript 
         application/atom+xml; 

    upstream uwsgicluster { 

     server 127.0.0.1:5000; 

    } 

    server { 

     listen 80; 
     server_name localhost; 
     charset utf-8; 

     location /static { 

      alias /home/apps/portal/app/static; 

     } 

     location/{ 

      include   uwsgi_params; 
      uwsgi_pass   uwsgicluster; 

      uwsgi_param  UWSGI_CHDIR /home/apps/portal; 
      uwsgi_param  UWSGI_PYHOME /home/apps/portal/flask; 
      uwsgi_param  UWSGI_MODULE portal; 
      uwsgi_param  UWSGI_CALLABLE app; 

      proxy_redirect  off; 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header X-Forwarded-Host $server_name; 

     } 
    } 
} 


의 nginx 액세스 로그 파일 (/var/log/nginx/access.log) : 나는 페이지를로드 한 후 개발자 콘솔을 확인

110.143.38.80 - - [22/Dec/2014:12:23:26 +1000] "GET /user/admin HTTP/1.1" 200 3279 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" 
110.143.38.80 - - [22/Dec/2014:12:23:26 +1000] "GET /static/css/style.css HTTP/1.1" 200 1541 "http://*.*.*.*/user/admin" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" 
110.143.38.80 - - [22/Dec/2014:12:23:26 +1000] "GET /static/js/moment.min.js HTTP/1.1" 200 13111 "http://*.*.*.*/user/admin" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" 
110.143.38.80 - - [22/Dec/2014:12:23:26 +1000] "GET /static/js/bootstrap.min.js HTTP/1.1" 200 11339 "http://*.*.*.*/user/admin" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" 
110.143.38.80 - - [22/Dec/2014:12:23:26 +1000] "GET /static/css/bootstrap.min.css HTTP/1.1" 200 23863 "http://*.*.*.*/user/admin" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" 
110.143.38.80 - - [22/Dec/2014:12:23:26 +1000] "GET /static/upload/avatars/admin_guyfawkes.jpg HTTP/1.1" 200 38039 "http://*.*.*.*/user/admin" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" 
+1

Chrome/FF/IE 개발자 콘솔은 무엇이라고 말합니까? 특히 네트워크 탭? 예를 들어 200으로로드되는 CSS 파일이 있습니까? 아니면 전혀로드하지 않습니까? – Gohn67

+0

당신은 훌륭합니다. 네트워크 탭은 200으로로드되지만 콘솔에는 "리소스가 스타일 시트로 해석되었지만 MIME 유형 텍스트/일반으로 전송되었습니다."라고 표시되었습니다. "include /etc/nginx/mime.types;"를 삽입 한 후 nginx conf 파일에 모두 좋다. 고맙습니다! – iamlolz

+2

질문 제목에 '해체'와 같은 물건을 넣지 마십시오. StackOverflow는 토론 포럼이 아닙니다. 자신의 질문에 답하고 답을 수락하면 다른 사람들이 당신을 위해 어떤 해결책이 효과가 있었는지 알 수 있습니다 (더 중요한 것은 질문이 아직 열리지 않고 있음). –

답변

2

인해 Gohn67에서 제안합니다. 콘솔이보고했습니다 : "리소스가 스타일 시트로 해석되었지만 MIME 유형이 text/plain으로 전송되었습니다"

그런 다음 include /etc/nginx/mime.types;을 nginx conf 파일에 삽입하면 모두 작동합니다.