2016-05-24 23 views
6

Questa mattina, devo aggiornare il mio supervisore utilizzandoSupervisor 3.3 con Ubuntu 16.04 servizio di mancato inizio

pip install --upgrade supervisor //from 3.2 to 3.3 

Ma dopo, lo stato di servizio di avvio un avviso, questo fallimento.

supervisor.service - Supervisor process control system for UNIX 
Loaded: loaded (/lib/systemd/system/supervisor.service; disabled; vendor preset: enabled) 
Active: activating (auto-restart) (Result: exit-code) since Tue 2016-05-24 12:19:48 CST; 25s ago 
Docs: http://supervisord.org 
Process: 27369 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=203/EXEC) 
Process: 27366 ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=203/EXEC) 
Main PID: 27366 (code=exited, status=203/EXEC) 

May 24 12:19:48 709101111291e5cZ systemd[1]: supervisor.service: Unit entered failed state. 
May 24 12:19:48 709101111291e5cZ systemd[1]: supervisor.service: Failed with result 'exit-code'. 

Questo è il mio config lavoratore:

[program:worker] 
process_name=%(program_name)s_%(process_num)02d 
command=php artisan queue:listen --timeout=360 --queue=high,low --sleep=3 --tries=3 
autostart=true 
autorestart=true 
exitcodes=0,2 
user=www 
numprocs=2 
redirect_stderr=true 
stdout_logfile=/www/worker/storage/logs/worker.log 

avrebbe fatto piacere che qualcuno potrebbe aiutare?

risposta

5

ho risolvere il problema di modifica /lib/systemd/system/supervisor.service, e migliore per utilizzare il comando installare supervisore easy_install supervisor

[Unit] 
Description=Supervisord Service 

[Service] 
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf 
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown 
ExecReload=/usr/local/bin/supervisorctl -c /etc/supervisor/supervisord.conf $OPTIONS reload 
KillMode=process 
Restart=on-failure 
RestartSec=50s 


[Install] 
WantedBy=multi-user.target 

Il percorso di supervisord era sbagliato nella impostazione di default, era/usr/bin. ma pip install lo metterà in/usr/local/bin.

+0

"installazione pip --upgrade supervisor" non lo installa come servizio. Hai usato "sudo apt-get install supervisor"? Se è così, allora è installato in/usr/bin ... – vgoklani

+0

@vgoklani In realtà, ho due modi per installarlo, dato che il pacchetto ufficiale di Ubuntu è solo 3.2, e poi lo aggiorno tramite pip install --upgrade. –

11

Sono su Ubuntu 16.04 utilizzando Supervisor 3.2 e sto ricevendo lo stesso errore quando provo ad avviare il supervisore con l'inizio del supervisore del servizio.

Ho usato apt-get install supervisor per installare supervisore e ha messo supervisorctl e supervisord in /usr/bin/.

E il mio file supervisor.service punta a /usr/bin/. Sono bloccato.

UPDATE Ho trovato il problema, si è verificato un errore di analisi in uno dei miei file .conf in /etc/supervisor/conf.d/. Una volta ho risolto che funzionava. Questo errore non era del tutto chiaro ma c'è un suggerimento su come trovarlo. In uscita c'è errore originale v'è una linea come

ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=203/EXEC)

Run /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf dalla riga di comando e vi darà un errore più dettagliato.

+0

Ho anche avuto questo problema. Penso che sia saggio prima avviare il supervisore senza file di configurazione, quindi aggiungere i file di configurazione e vedere quali non funzionano. – rednaw

0

Mi sono imbattuto in un problema simile, dove stavo ottenendo uno stato = 2 come codice di uscita. Non c'erano altri indizi su cosa potesse andare storto.

Si scopre che Supervisor non verrà avviato se la sua cartella di registro non esiste. Poiché questa cartella è stata montata su un tmpfs, dopo il riavvio del dispositivo, sarebbe stata nuovamente cancellata.

questo ha causato Supervisore di non boot-up (problema noto: https://github.com/Supervisor/supervisor/issues/121)

come una correzione, ho aggiunto le seguenti righe al mio script di avvio:

mkdir /var/log/supervisor 
sudo service supervisor restart 

Ora la cartella viene creato all'avvio e supervisore inizia correttamente.

0

Non ho idea di come avviare il servizio in Ubuntu, anche se ha /lib/systemd/system/supervisor.service e config right. Ma quando hai caricato service supervisor start mascherato. Io uso la mancia, sia apt install supervisor e easy_install supervisor, quindi easy_install -U supervisor.Ora, ha due versioni differenza di esso, /usr/local/bin/supervisord --version // Version 3.3.3 until 26th,Jan,2018 /usr/bin/supervisord --version // Version 3.2.0 Ubuntu 16.04

Dopo di che, editare e /lib/systemd/system/supervisor.service/etc/init.d/supervisor, cambiare tutte le /usr/bin/supervisord-/usr/local/bin/supervisord

Infine, in bash, ricaricare la configurazione del servizio. sudo systemctl daemon-reload Ora, tutto il servizio esegue l'ultima versione di supervisore.

Forse, potrebbe provare a smascherare il servizio.

systemctl unmask supervisor 
systemctl enable supervisor 
systemctl restart supervisor 
Problemi correlati