uWSGI TCP/IP 主机:端口 vs Unix 套接字

uWSGI TCP/IP 主机:端口 vs Unix 套接字

我们正在运行 Python WSGI 服务器(uWSGI),并将其更改为套接字文件而不是 tcp/ip localhost:port 连接。

现在我们的 uwsgi 日志充满了类似这样的错误

IOError: write error
SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) during GET /en/photos/?orientation... (ip ...) !!!
uwsgi_response_write_headers_do(): Broken pipe [core/writer.c line 296] during GET /en/photos/?orientation... (ip ...)

改回 localhost:port,日志中没有错误。页面使用两种配置加载。

我们更喜欢 Unix 套接字,因为它们速度更快...有人知道是什么导致了这些错误吗?

uwsgi.ini:

daemonize = /var/log/uwsgi/debug.log
module = project.wsgi:application

socket=127.0.0.1:1111

#socket = /tmp/tmp.sock
#chmod-socket = 666

master = true
vacuum = true

chdir=/var/www/...
pidfile=/tmp/project-master.pid

enable-threads = true
disable-logging = true

processes=6

nginx.conf

location / {
    uwsgi_read_timeout 300;
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:1111;
    #uwsgi_pass unix:/tmp/tmp.sock;
}

答案1

我也遇到过这个问题,我的 uwsgi 日志错误跟你一样,同时我发现我的 nginx 错误日志中有警告日志,比如:“2017/05/16 18:09:33 [alert] 16405#0: 1024 worker_connections 不够”

因此我在 nginx conf 文件中将 worker_connections 增加到较高的值。

相关内容