2012-12-02 116 views
2

我有一個django項目,並希望使用gunicorn和nginx部署它。與gunicorn,django和nginx的靜態文件

到目前爲止一切正常,但是當我添加子域時,靜態文件不能提供,我的頁面看起來很糟糕!

如果我使用本地主機代替,一切都很完美!

這裏,我離開我的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; 
    } 
} 

我也有這個在我的hosts文件:

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「?幾乎我想做的就是在同一臺物理服務器上使用類似於apache中的虛擬主機的服務。

PD:我也在使用OS Lion以防萬一。

回答

3

看來你錯了root設置。

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

您應該檢查您的css文件的請求URL。假設你有STATIC_URL = '/static/'你是瀏覽器可能要加載/static/css/styles.css或類似的東西。

因此,應該在root目錄中找到文件./static/css/styles.css

然後右鍵root應該是:

root /Users/danielrodriguez/workspace/mtt; 

當然,這真的不是好主意,以root設置你的項目根。因此,您可以創建符號鏈接staticmedia以將dir分隔到項目之外。

希望有所幫助。

+0

是的!!!它像一個字符非常感謝! – danielrvt

+0

不客氣:) – rudyryk