Сбой проверки 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