A verificação do Nagios falha: UWSGI CRITICAL: não foi possível conectar () aos trabalhadores Operação em andamento

1

Tudo parece estar instalado e funcionando como deveria (site / servidor está em execução), mas continue recebendo este erro:

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

ao executar:

uwsgi --nagios --socket=0.0.0.0:1717

Meu uwsgi.conf (anonimizado) é:

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

E meu arquivo 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
    
por Christoffer 12.07.2014 / 19:37

1 resposta

0

Então, esse era um problema simples de alinhar os soquetes chamados. Então, ao invés de:

uwsgi --nagios --socket=0.0.0.0:1717

então eu deveria ser:

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

Mas meus problemas não pararam por aí. Então eu corri para um problema de permissão. Isso pode ser corrigido adicionando chmod-socket = 666 . Mas a segurança não é perfeita nessa solução. Em vez disso, você pode configurá-lo para 664, dar ao usuário direitos sudoer para executar o comando uwsgi e executar o comando nagios da seguinte forma:

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

Para dar ao seu usuário direitos de sudo, adicione isto ao seu arquivo / etc / sudoer (mude o nome de usuário para o arquivo certo):

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

Quando mudei de uma instalação do aptitude para uma instalação do pip, também tive que remover plugins = python . E também listen = 4000 teve que ser removido, pois estava acima do limite que eu tinha.

Então, no final, eu tenho essa configuração do 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
    
por 14.07.2014 / 19:05

Tags