In Linux, Supervisor è un sistema client/server che consente agli utenti di controllare numerosi processi su un sistema operativo come UNIX. I seguenti sono i principali vantaggi di Supervisor:
- Convenienza: Scrivere rc.d per tutte le singole istanze di processo è scomodo. Allo stesso modo, gli script Rc.d non riavviano automaticamente i processi in crash. Tuttavia, Supervisor può essere configurato per riavviare automaticamente i processi in caso di arresto anomalo.
- Precisione: In UNIX, è spesso difficile ottenere uno stato di up/down accurato sui processi. Il supervisore avvia i processi come sottoprocessi, quindi è a conoscenza dello stato su/giù dei suoi figli. Questo è facile da interrogare per un utente finale.
In questo tutorial impareremo come installare Supervisor e configurarlo per gestire il processo Nginx su Ubuntu 20.04.
Prerequisiti
- Un nuovo VPS Ubuntu 20.04 sulla piattaforma Atlantic.Net Cloud.
- Sul tuo server è configurata una password di root.
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 20.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 20.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Fase 2:installare Supervisor
apt-get install supervisor -y
Dopo aver installato Supervisor, è possibile verificare la versione installata di Supervisor con il seguente comando:
supervisord -v
Dovresti ottenere il seguente output:
4.1.0
Successivamente, verifica lo stato del servizio Supervisore con il seguente comando:
systemctl status supervisor
Dovresti ottenere il seguente output:
supervisor.service - Supervisor process control system for UNIX
Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-10-01 13:31:42 UTC; 9s ago Docs: http://supervisord.org Main PID: 14419 (supervisord) Tasks: 1 (limit: 2353) Memory: 14.2M CGroup: /system.slice/supervisor.service └─14419 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
Fase 3:abilitare l'interfaccia Web del supervisore
Supervisor fornisce un'interfaccia basata sul Web per gestire tutti i processi, ma è disabilitata per impostazione predefinita. Puoi abilitarlo modificando il file /etc/supervisor/supervisord.conf.
nano /etc/supervisor/supervisord.conf
Aggiungi le seguenti righe:
[inet_http_server] port=*:9001 username=admin password=admin
Salva e chiudi il file, quindi riavvia il servizio Supervisore per applicare le modifiche:
systemctl restart supervisor
Fase 4 – Gestisci il processo Nginx con il supervisore
In questa sezione impareremo come controllare il processo Nginx con Supervisor.
Innanzitutto, installa il server Nginx con il seguente comando:
apt-get install nginx -y
Dopo aver installato Nginx, dovrai interrompere e disabilitare il servizio Nginx poiché utilizzeremo Supervisor per gestire il processo Nginx.
Puoi interrompere e disabilitare il servizio Nginx con il seguente comando:
systemctl stop nginx systemctl disable nginx
Successivamente, dovrai creare un file di configurazione autonomo per ogni servizio che desideri gestire. Puoi creare un file di configurazione Nginx con il seguente comando:
nano /etc/supervisor/conf.d/nginx.conf
Aggiungi le seguenti righe:
[program:nginx] command=/usr/sbin/nginx -g "daemon off;" autostart=true autorestart=true startretries=5 numprocs=1 startsecs=0 process_name=%(program_name)s_%(process_num)02d stderr_logfile=/var/log/supervisor/%(program_name)s_stderr.log stderr_logfile_maxbytes=10MB stdout_logfile=/var/log/supervisor/%(program_name)s_stdout.log stdout_logfile_maxbytes=10MB
Salva e chiudi il file quando hai finito. Quindi, informa il supervisore di conoscere la nuova configurazione:
supervisorctl reread
Dovresti ottenere il seguente output:
nginx: available
Quindi, chiedi a Supervisor di avviare il servizio Nginx:
supervisorctl update
Dovresti ottenere il seguente output:
nginx: added process group
Quindi, verifica se Supervisor ha avviato il servizio Nginx con il comando seguente:
supervisorctl
Dovresti ottenere il seguente output:
nginx:nginx_00 IN CORSO pid 15717, tempo di attività 0:00:13
Se desideri interrompere il servizio Nginx, esegui il comando seguente:
stop nginx:nginx_00
Uscita:
nginx:nginx_00: stopped
Per avviare nuovamente il servizio Nginx, eseguire il comando seguente:
start nginx:nginx_00
Uscita:
nginx:nginx_00: started
Ora esci dalla shell di Supervisor con il seguente comando:
exit
Puoi anche verificare il processo Nginx con il seguente comando:
ps aux | grep nginx
Dovresti ottenere il seguente output:
root 15721 0.0 0.4 57176 10064 ? S 14:14 0:00 nginx: master process /usr/sbin/nginx - g daemon off; www-data 15722 0.0 0.2 57828 5340 ? S 14:14 0:00 nginx: worker process www-data 15723 0.0 0.2 57828 5340 ? S 14:14 0:00 nginx: worker process
Fase 5:accedere all'interfaccia Web del supervisore
È ora possibile accedere all'interfaccia Web del supervisore utilizzando l'URL http://your-server-ip:9001 . Ti verrà chiesto di fornire un nome utente e una password come mostrato di seguito:
Fornisci il nome utente e la password dell'amministratore che hai definito nella configurazione, quindi fai clic su Accedi pulsante. Dovresti vedere l'interfaccia web del Supervisore nella pagina seguente:
Conclusione
In questa guida hai imparato come installare Supervisor e abilitare l'interfaccia web su Ubuntu 20.04. Hai anche imparato a controllare il processo Nginx con Supervisor. Prova a controllare i processi sul tuo account di hosting VPS Linux con Atlantic.Net!