Questo articolo descrive come gestire i servizi utilizzando systemd .
Introduzione
Molti moderni sistemi operativi Linux® disponibili su Rackspace, come Centos® 7 e successivi e Ubuntu® 16.04, hanno adottato systemd come gestore di sistema. Quindi potresti voler conoscere i dettagli su come usarlo per gestire le tue applicazioni.
Usa systemctl
Quando utilizzi systemd per gestire le applicazioni, usa il comando systemctl
. Le sezioni seguenti descrivono molte delle funzioni di questo comando.
Avvia e arresta i servizi
Usa il comando systemctl start application.service
per avviare l'applicazione e il comando systemctl stop application.service
per interrompere l'applicazione. Se non sai se un servizio è in esecuzione, puoi utilizzare il comando systemctl status application.service
per verificare lo stato, come mostrato nell'esempio seguente:
[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 ~]#
Riavvia o ricarica i servizi
Il riavvio e il ricaricamento di un servizio sono due cose separate con systemd .
Quando esegui il comando systemctl restart application.service
, il servizio specificato viene riavviato. Se il servizio è in stato di arresto, viene avviato.
Quando esegui il comando systemctl reload application.service
, la configurazione dei servizi di ricarica specificati. Ad esempio, se si apportano modifiche a un host virtuale Apache® (vhost) e si desidera che tali modifiche siano attive senza interrompere Apache, ricaricare il servizio. Le nuove configurazioni avvengono senza interrompere il servizio.
Abilita e disabilita i servizi
Se desideri che un servizio specifico venga avviato all'avvio del server, esegui il comandosystemctl enable application.service
. Se vuoi assicurarti che un servizio non si avvii all'avvio del server, esegui il comando systemctl disable application.service
.