2016-05-16 54 views
1

我正在使用uWSGI使用uwsgi --http-socket 127.0.0.1:3031 -w app:app來提供我的應用程序,當我在瀏覽器中訪問127.0.0.1:3031時,它適用。我想使用Nginx,所以我告訴它uwsgi_pass該網址,但現在我得到一個502錯誤的網關錯誤。我如何將uWSGI放在Nginx之後?將uWSGI HTTP服務器轉換爲Nginx的後臺

server { 
    listen 8080; 
    server_name 127.0.0.1; 

    location/{ 
     uwsgi_pass 127.0.0.1:3031; 
     include uwsgi_params; 
    } 

    location /static { 
     alias /static/folder/location; 
    } 
} 
2016/05/16 19:50:09 [error] 6810#0: *4 upstream prematurely closed 
connection while reading response header from upstream, client: 
127.0.0.1, server: 127.0.0.1, request: "GET/HTTP/1.1", upstream: 
"uwsgi://127.0.0.1:3031", host: "127.0.0.1:8080" 

回答

0

使用socket,不http-socket

uwsgi --socket 127.0.0.1:3031 -w app:app 

http-socket使得uWSGI像這充分說明HTTP Web服務器,如果你使用Nginx的,因爲它直接理解uWSGI是不正確的。

0

您可以在nginx和uWSGI之間使用http-socket。 例如,如果你用uWSGI啓動您的Python應用程序:

uwsgi --http-socket 127.0.0.1:3031 --wsgi-file application.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191 

配置的Nginx有:

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