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.
Inhaltsverzeichnis
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.
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.
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.
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?