2012-12-02 5 views
2

나는 장고 프로젝트를 갖고 있으며 gunicorn과 nginx를 사용하여 배포하려고합니다.gunicorn, django 및 nginx가있는 정적 파일

지금까지 모든 것이 작동하지만 하위 도메인을 추가하면 정적 파일이 제공되지 않고 내 페이지가 끔찍 해 보입니다.

대신 localhosts를 사용하면 모든 것이 완벽하게 작동합니다! 여기

내 nginx.conf 떠나 : 나는 또한 나의 호스트이이

server { 
    listen 80 default; 
    client_max_body_size 4G; 
    server_name mytest.dev; 

    keepalive_timeout 5; 

    # path for static files 
    root /Users/danielrodriguez/workspace/mtt/static; 

    location/{ 
     # checks for static file, if not found proxy to app 
     try_files $uri @proxy_to_app; 
    } 

    location @proxy_to_app { 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_redirect off; 

     proxy_pass http://localhost:8000; 
    } 
} 

파일 :

127.0.0.1 localhost 
127.0.0.1 mytest.dev 
255.255.255.255 broadcasthost 
::1    localhost 
fe80::1%lo0 localhost 

어떻게 내가 "입력 할 때 로컬 호스트처럼 nginx를 작동 할 수 있습니다 "내 브라우저에서"mydev.test "를 입력하면 어떻게됩니까? 거의 모든 일은 아파치의 가상 호스트와 같은 것을 사용하여 동일한 물리적 서버 내에 여러 사이트를 제공하는 것입니다.

PD : OS 라이온도 도움이 될 수 있도록 사용하고 있습니다.

답변

3

설정이 잘못된 것 같습니다. root.

root /Users/danielrodriguez/workspace/mtt/static; 

css 파일의 요청 된 URL을 확인해야합니다. 당신이 STATIC_URL = '/static/'을 가지고 있다고 Assumimg하면 아마도 /static/css/styles.css 같은 것을로드하려고 할 것입니다.

따라서 파일 ./static/css/styles.cssroot 디렉토리에 있습니다.

그런 다음 바로 root는해야한다 : 프로젝트 루트에 root 설정을 만들기 위해 정말 좋은 생각이 아니다 물론

root /Users/danielrodriguez/workspace/mtt; 

. 그래서 'staticmedia에 대한 심볼릭 링크를 만들어 프로젝트 외부의 디렉토리를 구분할 수 있습니다.

희망이 있습니다.

+0

예 !!! 그것은 char 감사처럼 많이 일했습니다 !!! – danielrvt

+0

당신은 환영합니다 :) – rudyryk