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

Ошибка проверки 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

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

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