2013-04-03 89 views
0

我想設置nginx傳遞給gunicorn後端來運行Django項目。不幸的是,我似乎無法讓nginx顯示除歡迎頁面之外的任何內容,看似不管我嘗試什麼。Nginx - 無法通過proxy_pass過去歡迎頁面到gunicorn

  • 都嘗試啓用站點的方法,以及單片nginx.conf方法
  • 證實,nginx的實際上是讀我的nginx.conf - 如果我把亂碼的文件,它會拒絕啓動,抱怨胡言亂語
  • 刪除在「默認」配置站點啓用,
  • 證實gunicorn成功
  • 開始

我的nginx.conf如下:

user www-data; 
worker_processes 1; 

error_log /var/log/nginx/error.log; 
pid  /var/run/nginx.pid; 

events { 
    worker_connections 1024; 
    # multi_accept on; 
} 

http { 
    #include  /etc/nginx/mime.types; 

    access_log /var/log/nginx/access.log; 

    sendfile  on; 
    #tcp_nopush  on; 

    #keepalive_timeout 0; 
    keepalive_timeout 65; 
    tcp_nodelay  on; 

    gzip on; 
    gzip_disable "MSIE [1-6]\.(?!.*SV1)"; 

    include /etc/nginx/sites-enabled/*; 
} 

而在網站可用,我有文件「localhost」。然後將該文件符號鏈接到啓用了站點的位置。

server { 
    listen 80 default_server; 
    server_name localhost; 
    access_log /srv/www/menus-dev/logs/access.log; 
    error_log /srv/www/menus-dev/logs/error.log; 
    root /srv/www/menus-dev/http; 

    location/{ 
     proxy_pass http://127.0.0.1:8888; 
    } 

    location /static { 
     root /srv/www/menus-dev/static_files; 
    } 
} 

有什麼建議嗎?我正在撞這個牆上的牆。一切都告訴我,這應該工作得很好,但我不能讓它運行。

它運行在Ubuntu Precise 32位Vagrant虛擬機(virtualbox)上,它的價值在於它。

+1

如果您直接點擊「http://127.0.0.1:8888」,您是否可以通過歡迎頁面? – 2013-04-03 22:47:05

回答

0

所以,這是我自己做的。原來我運行的機器上有一個未配置的nginx版本,它在同一個端口上本地運行(有點可怕......),這就回應了這個請求。每次我刷新頁面,它都是從本地主機加載的,而不是Vagrant客機。棕櫚,見面。

+1

感謝您告訴我們! – 2013-04-04 20:46:02

1

基於此article,sendfile指令在virtualbox中存在一些問題。您可以關閉它,看看它是否有幫助。

除此之外,我沒有看到Nginx配置文件的問題。也許在瀏覽器中存在一些緩存問題,或者您的應用程序需要一些您需要從nginx傳遞的特定標頭或cookie。

0

對於我的情況,我的瀏覽器正在從緩存中反覆加載我的網站。一旦我清除了我的瀏覽器歷史記錄,nginx加載了新的配置文件。