Сбой проверки Nagios: UWSGI CRITICAL: не удалось подключиться () к рабочим

Кажется, что все установлено и работает как надо (сайт / сервер работает), но постоянно получаю эту ошибку:

UWSGI CRITICAL: could not connect() to workers Operation now in progress

при беге:

uwsgi --nagios --socket=0.0.0.0:1717

Мой uwsgi.conf (анонимный):

description "uwsgi instance"
start on runlevel [2345]
stop on runlevel [06]

exec uwsgi --master --die-on-term --ini /etc/uwsgi/apps-enabled/my-app.com

И мой INI-файл:

[uwsgi]
uid = www-data
gid = www-data
plugins = python

module= wsgi_app
home = /home/django/domains/my-app.com/my-app.com/
pythonpath = /home/django/domains/my-app.com/my-app/uwsgi/
touch-reload = /home/django/domains/my-app.com/my-app/uwsgi/restart.trig
socket = /tmp/my-app.com.socket
logto = /var/log/uwsgi/my-app.com.log
enable-threads = true
single-interpreter = true

listen=4000
threads = 5
workers = 10
master = true
max-requests=1000
buffer-size = 32768
post-buffering = 8192

1 ответ

Так что это была простая проблема выравнивания названных сокетов. Так что вместо:

uwsgi --nagios --socket=0.0.0.0:1717

тогда у меня это должно быть

uwsgi --nagios --socket=/tmp/my-app.com.socket

Но мои проблемы не остановились на этом. Тогда я столкнулся с проблемой разрешения. Это можно исправить, добавив chmod-socket = 666, Но безопасность не идеальна в этом решении. Вместо этого вы можете установить его на 664, дать пользователю права sudoer для запуска команды uwsgi и запуска команды nagios следующим образом:

sudo /usr/local/bin/uwsgi --nagios --socket=/tmp/my-app.com.socket

Чтобы предоставить пользователю права sudo, добавьте его в файл /etc/sudoer (измените имя пользователя на правильное):

username ALL=(ALL) NOPASSWD:/usr/local/bin/uwsgi --nagios --socket=/tmp/my-app.com.socket

Когда я перешел от установки aptitude к установке pip, мне также пришлось удалить plugins = python, А также listen = 4000 должен был быть удален, так как это было за предел, который я имел.

Итак, в конце концов, у меня есть установка UWSGI:

[uwsgi]
uid = www-data
gid = www-data

module = wsgi_app
home = /home/django/domains/my-app.com/my-app.com/
pythonpath = /home/django/domains/my-app.com/my-app/uwsgi/
touch-reload = /home/django/domains/my-app.com/my-app/uwsgi/restart.trig
socket = /tmp/my-app.com.socket
chmod-socket = 664
logto = /var/log/uwsgi/my-app.com.log
enable-threads = true
single-interpreter = true

threads = 5
workers = 10
master = true
max-requests = 1000
buffer-size = 32768
post-buffering = 8192
Другие вопросы по тегам