V Linuxu je Supervisor systém typu klient/server, který umožňuje uživatelům ovládat četné procesy přes operační systém, jako je UNIX. Klíčové výhody Supervizora jsou následující:
- Pohodlí: Zápis rc.d pro všechny instance jednoho procesu je nepohodlný. Rc.d skripty podobně nerestartují zhroucené procesy automaticky. Správce však může být nakonfigurován tak, aby automaticky restartoval procesy, když se zhroutí.
- Přesnost: V UNIXu je často obtížné získat přesný stav procesů nahoru/dolů. Supervizor spouští procesy jako podprocesy, takže si je vědom stavu nahoru/dolů svých potomků. Toto je snadné pro koncového uživatele.
V tomto tutoriálu se naučíme, jak nainstalovat správce a nakonfigurovat jej pro správu procesu Nginx na Ubuntu 20.04.
Předpoklady
- Nové Ubuntu 20.04 VPS na cloudové platformě Atlantic.Net.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Krok 1 – Vytvoření cloudového serveru Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 20.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte ke svému serveru Ubuntu 20.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Instalace správce
apt-get install supervisor -y
Po instalaci správce můžete ověřit nainstalovanou verzi správce pomocí následujícího příkazu:
supervisord -v
Měli byste získat následující výstup:
4.1.0
Dále ověřte stav služby Supervisor pomocí následujícího příkazu:
systemctl status supervisor
Měli byste získat následující výstup:
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
Krok 3 – Povolte webové rozhraní správce
Správce poskytuje webové rozhraní pro správu všech procesů, ale ve výchozím nastavení je zakázáno. Můžete to povolit úpravou souboru /etc/supervisor/supervisord.conf.
nano /etc/supervisor/supervisord.conf
Přidejte následující řádky:
[inet_http_server] port=*:9001 username=admin password=admin
Uložte a zavřete soubor a poté restartujte službu Supervisor, aby se změny projevily:
systemctl restart supervisor
Krok 4 – Správa procesu Nginx pomocí supervizora
V této části se naučíme, jak ovládat proces Nginx pomocí Správce.
Nejprve nainstalujte server Nginx pomocí následujícího příkazu:
apt-get install nginx -y
Po instalaci Nginx budete muset zastavit a zakázat službu Nginx, protože ke správě procesu Nginx budeme používat správce.
Službu Nginx můžete zastavit a deaktivovat pomocí následujícího příkazu:
systemctl stop nginx systemctl disable nginx
Dále budete muset vytvořit samostatný konfigurační soubor pro každou službu, kterou chcete spravovat. Konfigurační soubor Nginx můžete vytvořit pomocí následujícího příkazu:
nano /etc/supervisor/conf.d/nginx.conf
Přidejte následující řádky:
[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
Po dokončení uložte a zavřete soubor. Dále řekněte supervizorovi, aby věděl o nové konfiguraci:
supervisorctl reread
Měli byste získat následující výstup:
nginx: available
Dále řekněte supervizorovi, aby spustil službu Nginx:
supervisorctl update
Měli byste získat následující výstup:
nginx: added process group
Dále ověřte, zda správce spustil službu Nginx pomocí následujícího příkazu:
supervisorctl
Měli byste získat následující výstup:
nginx:nginx_00 BĚŽÍ pid 15717, dostupnost 0:00:13
Pokud chcete zastavit službu Nginx, spusťte následující příkaz:
stop nginx:nginx_00
Výstup:
nginx:nginx_00: stopped
Chcete-li znovu spustit službu Nginx, spusťte následující příkaz:
start nginx:nginx_00
Výstup:
nginx:nginx_00: started
Nyní ukončete prostředí správce pomocí následujícího příkazu:
exit
Proces Nginx můžete také ověřit pomocí následujícího příkazu:
ps aux | grep nginx
Měli byste získat následující výstup:
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
Krok 5 – Přístup k webovému rozhraní správce
Nyní máte přístup k webovému rozhraní správce pomocí adresy URL http://ip-ip-vašeho-serveru:9001 . Budete požádáni o zadání uživatelského jména a hesla, jak je uvedeno níže:
Zadejte své uživatelské jméno a heslo správce, které jste definovali v konfiguraci, soubor a poté klikněte na tlačítko Přihlásit se knoflík. Webové rozhraní správce byste měli vidět na následující stránce:
Závěr
V této příručce jste se naučili, jak nainstalovat správce a povolit webové rozhraní na Ubuntu 20.04. Také jste se naučili, jak ovládat proces Nginx pomocí Supervisor. Vyzkoušejte řízení procesů na svém hostingovém účtu Linux VPS pomocí Atlantic.Net!