NGINX uWSGI连接由Peer重置

前端之家收集整理的这篇文章主要介绍了NGINX uWSGI连接由Peer重置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用uWSGI在Nginx上托管Bottle Application.

这是我的Nginx.conf

location /myapp/ {
        include uwsgi_params;
        uwsgi_param X-Real-IP $remote_addr;
        uwsgi_param Host $http_host;
        uwsgi_param UWSGI_SCRIPT myapp;
        uwsgi_pass 127.0.0.1:8080;
    }

我正在运行uwsgi

uwsgi --enable-threads --socket :8080 --plugin python -- wsgi-file ./myApp/myapp.py

我正在使用POST请求.对于使用dev Http Client的那个.当我发送请求时,这是无限的

http://localhost/myapp

uWSGI服务器接收请求并打印

[pid: 4683|app: 0|req: 1/1] 127.0.0.1 () {50 vars in 806 bytes} [Thu Oct 25 12:29:36 2012] POST /myapp => generated 737 bytes in 11 msecs (HTTP/1.1 404) 2 headers in 87 bytes (1 switches on core 0)

但在Nginx错误日志中

2012/10/25 12:20:16 [error] 4364#0: *11 readv() Failed (104: Connection reset by peer) while reading upstream,client: 127.0.0.1,server: localhost,request: "POST /myApp/myapp/ HTTP/1.1",upstream: "uwsgi://127.0.0.1:8080",host: "localhost"

该怎么办?

最佳答案
如果不在应用程序中读取数据,则无法从客户端发布数据.虽然这在uWSGI中不是问题,但Nginx会失败.您可以使用uWSGI的–post-buffering选项“伪造”该东西,以自动套接字读取数据(如果可用),但您最好“修复”(即使我不认为这是一个错误)应用

猜你在找的Nginx相关文章