Назад | Перейти на главную страницу

uWSGI TCP / IP host: порт или сокет 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;
}

Я тоже встретил этот вопрос. Мои ошибки журнала uwsgi похожи на вас, но я обнаружил, что в моем журнале ошибок nginx есть журналы предупреждений, например: «2017/05/16 18:09:33 [предупреждение] 16405 # 0: 1024 worker_connections недостаточно»

Поэтому я увеличил worker_connections до высокого значения в файле conf nginx.