2014-06-24 3 views
0

정적 파일 :장고 1.6 uWSGI + nginx를 실 거예요 역할을 같이 내가 테스트 목적을 위해 장고 1.6 응용 프로그램을

media folder -> /home/josealejandro93/Desktop/Soporte/media 
static folder -> /home/josealejandro93/Desktop/Soporte/static 
root folder -> /home/josealejandro93/Desktop/Soporte # manage.py lives here! 

나는 리눅스 아치에 this tutorial를 사용하여 uwsgi를 구성하는 관리하고 나는

uwsgi --http :8000 --module soporte.wsgi 
을 실행할 때

내 응용 프로그램이 localhost:8000에서 실행되는 것을 볼 수 있지만 위의 튜토리얼의 구성 지침에 따라 정적 파일을 제공 할 수 없어서 /etc/nginx/nginx.conf에 대한 새로운 구성을 시도했습니다.

worker_processes 1; 


events { 
    worker_connections 1024; 
} 


http { 
    default_type application/octet-stream; 
    sendfile  on; 
    keepalive_timeout 65; 

    server { 
     listen  80; 
     server_name localhost; 

     location/{ 
      include /etc/nginx/mime.types;  
      root /home/josealejandro93/Desktop/Soporte; 
      index index.html index.htm; 
     } 


     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root /usr/share/nginx/html; 
     } 
    } 


} 

실제로 알 수 있듯이이 파일은 기본 구성 파일 일뿐 정적 파일은 계속 처리 할 수 ​​없습니다.

무엇이 잘못 되었습니까?

+0

어떤 포트는 사용하려고? 포트 80에서 Nginx를 사용하고 포트 8000에서 WSGI 응용 프로그램을 사용합니다. – AndrewS

+0

포트 80을 사용하고 싶지만 localhost/media/nocap.jpg에 액세스하면 Nginx 404가됩니다. nocap.jpg는/home/josealejandro93/Desktop/Soporte/media' –

+0

권한을 확인하십시오. nginx가 아닌 사용자와 홈 디렉토리의 컨텐츠를 제공하면 문제가 발생할 수 있습니다. – AndrewS

답변

0

당신은 인식하고 미디어와 정적 파일을 제공하는 nginx를 구성해야합니다 :

server { 
    listen  80; 
    server_name localhost; 

    location/{ 
     include /etc/nginx/mime.types;  
     root /home/josealejandro93/Desktop/Soporte; 
     index index.html index.htm; 
    } 

    location /static/ { 
     alias /home/josealejandro93/Desktop/Soporte/static; 
    } 

    location /media/ { 
     alias /home/josealejandro93/Desktop/Soporte/media; 
    } 
} 
+0

이 섹션을 구성 파일에 no 운이 ... –

+0

나중에 nginx를 다시로드 했습니까? –

+0

예, 첫번째'sudo nginx -t' 그리고'sudo systemctl restart nginx'. 또한 시작 - 중지합니다. –