2016-05-16 17 views
1

Ich serviere meine App mit uWSGI mit uwsgi --http-socket 127.0.0.1:3031 -w app:app, die funktioniert, wenn ich 127.0.0.1:3031 in einem Browser gehe. Ich möchte Nginx verwenden, also habe ich es zu uwsgi_pass zu dieser URL gesagt, aber jetzt bekomme ich einen Fehler 502 Bad Gateway. Wie lege ich uWSGI hinter Nginx?Konvertieren Sie uWSGI HTTP-Server, um hinter Nginx zu arbeiten

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" 

Antwort

0

Verwenden socket, nicht http-socket.

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

http-socket macht uwsgi wie ein Web-Server handeln, der HTTP spricht, und ist nicht korrekt, wenn Sie Nginx verwenden, da es uwsgi direkt versteht.

0

Sie können http-Socket zwischen Nginx und UWSGI verwenden. Zum Beispiel, wenn Sie Ihre Python-App mit uwsgi starten:

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

konfigurieren Nginx mit:

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