Tento článek popisuje, jak spravovat služby pomocí systemd .
Úvod
Mnoho moderních operačních systémů Linux® dostupných v Rackspace, jako je Centos® 7 a novější a Ubuntu® 16.04, přijalo systemd jako správce systému. Takže možná budete chtít vědět, jak jej používat ke správě aplikací.
Použijte systemctl
Když používáte systemd pro správu aplikací použijte příkaz systemctl
. Následující části popisují několik funkcí tohoto příkazu.
Spuštění a zastavení služeb
Použijte příkaz systemctl start application.service
pro spuštění aplikace a příkaz systemctl stop application.service
pro zastavení aplikace. Pokud nevíte, zda je služba spuštěna, můžete použít příkaz systemctl status application.service
zkontrolujte stav, jak ukazuje následující příklad:
[root@localhost ~]# systemctl status httpd.service
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:httpd(8)
man:apachectl(8)
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl status httpd.service
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2020-05-24 01:30:02 UTC; 1s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 16117 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
├─16117 /usr/sbin/httpd -DFOREGROUND
├─16118 /usr/sbin/httpd -DFOREGROUND
├─16119 /usr/sbin/httpd -DFOREGROUND
├─16120 /usr/sbin/httpd -DFOREGROUND
├─16121 /usr/sbin/httpd -DFOREGROUND
└─16122 /usr/sbin/httpd -DFOREGROUND
May 24 01:30:02 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
May 24 01:30:02 localhost.localdomain httpd[16117]: AH00558: httpd: Could not reliably determine
the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName'
directive globally to suppress this message
May 24 01:30:02 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
[root@localhost ~]#
Restartujte nebo znovu načtěte služby
Restartování a opětovné načtení služby jsou dvě samostatné věci s systemd .
Když spustíte příkaz systemctl restart application.service
, zadaná služba se restartuje. Pokud je služba ve stavu zastaveno, spustí se.
Když spustíte příkaz systemctl reload application.service
, konfigurace zadané službyreloads. Pokud například provedete nějaké změny na virtuálním hostiteli Apache® (vhost) a chcete, aby tyto změny začaly fungovat bez zastavení Apache, načtete službu znovu. Nové konfigurace probíhají bez přerušení služby.
Povolení a zakázání služeb
Pokud chcete, aby se při spuštění serveru spustila konkrétní služba, spusťte příkazsystemctl enable application.service
. Pokud se chcete ujistit, že se služba nespustí při spuštění serveru, spusťte příkaz systemctl disable application.service
.