Problema di errore del socket del supervisore [chiuso]


99
$ supervisorctl reread
error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567

Sto provando a configurare il supervisore sul mio sistema di produzione, ma riscontro questo errore. Il file di registro del supervisore è vuoto.

Quando digito supervisorctl, si lamenta:

http://localhost:9001 refused connection

Nulla è attualmente in ascolto sulla porta 9001, AFACT: lsof | grep TCPnon restituisce nulla.

Risposte:


172

Devi avviare supervisord prima di poter utilizzare supervisorctl. Nel mio caso:

sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf

2
Non dovresti dover sudo supervisorctl, ma mi sono imbattuto in problemi di autorizzazioni che mi hanno fatto rinunciare a risolvere quel problema
kelorek

1
Ho lo stesso rilascio di kelorek ma il comando precedente non ha funzionato su di me.
Charlesliam

Cosa ritorna quando premi invio?
kelorek

5
192.168.111.100:9001 ha rifiutato la connessione
Charlesliam

Uomo eccellente, ho fatto funzionare il mio supervisore dopo anni!
Jaimin

37

Se hai avviato supervisord con un percorso personalizzato, come questo:

sudo supervisord -c /mypath/supervisord.conf

Quindi dovresti anche avviare supervisorctl con lo stesso parametro, in questo modo:

sudo supervisorctl -c /mypath/supervisord.conf

2
questo mi ha davvero aiutato
Justin M. Ucar

12

È possibile ottenere questo problema se si avvia supervisor con un URL relativo -ce quindi si prova a eseguire supervisorctl da una directory diversa.

Per esempio:

supervisord -c supervisord.conf
supervisorctl start someapp ## works 
cd somedirectory
supervisorctl restart someapp ## http://localhost:9001 refused connection

La soluzione sarebbe utilizzare sempre il percorso assoluto. per esempio:

Buona:

supervisord -c /etc/supervisor/supervisord.conf

Male:

supervisord -c supervisord.conf

5

Questo problema si verifica anche quando supervisord.confviene utilizzata una vecchia versione del file. La versione più recente del supervisore utilizza un file di configurazione diverso. Le soluzioni di cui sopra non funzionano. In questo caso non ti resta che rigenerare il file di configurazione con

echo_supervisord_conf > /etc/supervisord.conf

Spero che aiuti qualcuno.


3

si prega di fare quanto segue:

sudo service supervisor start

post che tutto è normale come b4 - c'è un problema con la versione 1b

sudo supervisorctl reload


2

In Ubuntu 18.04 con il pacchetto della distribuzione

Probabilmente hai fatto lo stesso errore di me e hai creato il file di configurazione /etc/supervisord.confmentre il mio gestore dei servizi ( systemd ) utilizzava il file di configurazione/etc/supervisor/supervisord.conf

sudo rm /etc/supervisord.conf

O

sudo mv /etc/supervisord.conf /etc/supervisor/supervisord.conf

se vuoi tenerlo

Adesso puoi correre sudo supervisorctl


Perché?

quando lo esegui supervisorctlcerca per la prima volta il file di configurazione che si trova in /etc/supervisord.conf, se non è presente, cercherà il file predefinito del pacchetto, /etc/supervisor/supervisord.confquesto è quello effettivamente eseguito da systemd .

Systemd usa sempre il file /etc/supervisor/supervisord.confindipendentemente dall'esistenza dell'altro file.

Puoi controllare quale file sta usando systemd eseguendosudo systemctl status supervisor

inserisci qui la descrizione dell'immagine Puoi vedere nell'ultima riga il comando in cui il file di configurazione è hardcoded


-1

entrambi supervisorde supervisorctlutilizzare -ccon il percorso del file di configurazione assoluto, assicurarsi che entrambi i comandi si avviino con la stessa configurazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.