Wie starte ich Dienste beim Booten in Linux automatisch?

Eines der wichtigsten Dinge, die ein Systemadministrator wissen muss, ist die Konfiguration von Diensten beim Booten, sodass sie automatisch gestartet werden, wenn ein Server neu gestartet wird.

Es kann verschiedene Gründe für einen Serverneustart geben, einschließlich der folgenden.

  • Geplant für wöchentlich, monatlich
  • Unerwartet aufgrund eines Hardware-/Kernel-Problems

Durch die richtige Konfiguration müssen Sie sie nicht bei jedem Neustart manuell starten.

Ein bisschen Automatisierung. Ist es nicht?

Die folgenden Beispiele wurden für zwei beliebte Distributionen getestet DigitalOcean Server.

CentOS oder RHEL 6.x

Im folgenden Beispiel habe ich einen Apache HTTP-Server genommen, aber das Verfahren bleibt für alle anderen Dienste gleich, die Sie beim Booten in der Red Hat Enterprise Linux (RHEL)- oder CentOS 6-Version starten möchten.

Sie können jeden Skriptdateinamen beibehalten, und hier habe ich httpd beibehalten

  • Werden Sie Root-Benutzer auf Ihrem Linux-Server
  • Erstellen oder kopieren Sie Ihr Skript unter /etc/init.d/
[[email protected] init.d]# ls -ltr httpd
-rwxr-xr-x. 1 root root 3371 Jan 6 08:56 httpd
[[email protected] init.d]#

Wir werden das Dienstprogramm chkconfig verwenden, das standardmäßig unter Linux oder CentOS verfügbar ist.

  • Fügen Sie ein Skript hinzu, das beim Booten gestartet werden soll, indem Sie chkconfig mit dem Parameter –add verwenden
[[email protected] init.d]# chkconfig --add httpd
[[email protected] init.d]# chkconfig httpd on
  • Bestätigen Sie mit –list, dass das Skript erfolgreich hinzugefügt wurde
[[email protected] init.d]# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[[email protected] init.d]#

Das ist alles! Das httpd-Skript wird aufgerufen, um Dienste beim Linux-Start zu starten.

  So ermitteln Sie die Größe einer Datei oder eines Verzeichnisses unter Linux

Falls Sie den Autostart-Dienst deaktivieren müssen, können Sie die folgenden Befehle verwenden

chkconfig httpd off
chkconfig --del httpd

RHEL oder CentOS 7.x/8.x

Das Verfahren zum Konfigurieren von Diensten beim Booten in RHEL 7 unterscheidet sich geringfügig von RHEL 6. Es verwendet Systemd zum Verwalten der Dienste.

Die meiste Software wie Apache, PHP, MySQL, Nginx-Skripte werden bei der Installation zu Diensten hinzugefügt.

Nehmen wir ein Beispiel für PHP-FPM.

Lassen Sie uns zuerst den Status von php-fpm sehen (dies setzt voraus, dass Sie bereits Skripte in /usr/lib/systemd/system/ haben).

[[email protected] ~]# systemctl status php-fpm
php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: inactive (dead) 
[[email protected] ~]#

Wie Sie sehen können, ist der Status deaktiviert, was bedeutet, dass er nicht für den Start beim Booten konfiguriert ist.

  So spielen Sie Super Nintendo-Spiele unter Linux mit Snes9x

Lassen Sie uns php-fpm aktivieren, um beim Booten zu starten, indem Sie systemctl verwenden

[[email protected] ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[[email protected] ~]#

Sehen wir uns nun den Status an

[[email protected] ~]# systemctl status php-fpmphp
php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)    Active: inactive (dead) 
[[email protected] ~]#

php-fpm ist so eingestellt, dass es beim Booten startet. Testen wir es, indem wir den Server neu starten.

Wenn Sie jemals das Starten von Diensten beim Booten deaktivieren müssen, können Sie den folgenden Befehl verwenden

systemctl disable php-fpm

Vielleicht ziehen Sie es auch vor, diesen Beitrag zu lesen, der systemd und automatisch startende Dienste beim Booten erklärt.

  So zeigen Sie den freien Speicherplatz und die Festplattennutzung über das Linux-Terminal an

Ubuntu

Das Konfigurieren von Autostart-Diensten in Ubuntu ist etwas anders. Nehmen wir an, der Skriptname ist Nginx

  • Melden Sie sich mit root beim Ubuntu-Server an
  • Kopieren Sie das Skript in den Ordner /etc/init.d/
  • Führen Sie den folgenden Befehl aus
update-rc.d nginx defaults
  • Starten Sie den Server neu, um sicherzustellen, dass die Dienste gestartet werden.

Das hat mir geholfen und ich glaube, es wird auch für Sie von Vorteil sein.

Die Systemadministration macht immer Spaß und ist eine Herausforderung, und wenn Sie Ihre Karriere darin verbessern möchten, können Sie sich darauf beziehen Udemy-Kurs.

Sehen Sie sich als Nächstes an, wie Sie den Grund für einen plötzlichen Linux-Neustart finden.
Gehen Sie hierher, um PHP-FPM 5.6 auf CentOS 6.x zu installieren/aktualisieren.

Haben Sie den Artikel gerne gelesen? Wie wäre es mit der Welt zu teilen?