Fügen Sie Linux eine Startmethode hinzu (Dienst/Skript)

Fügen Sie Linux eine Startmethode hinzu (Dienst/Skript)

Konfigurationsdatei, die beim Systemstart geladen werden muss

/etc/Profil, /root/.bash_profile
/etc/bashrc, /root/.bashrc
/etc/profile.d/*.sh, /etc/profile.d/lang.sh
/etc/sysconfig/i18n, /etc/rc.local (/etc/rc.d/rc.local)

1. Ändern Sie die Boot-Startdatei: /etc/rc.local (oder /etc/rc.d/rc.local)

# 1. Bearbeiten Sie die Datei rc.local [root@localhost ~]# vi /etc/rc.local

# 2. Ändern Sie die Datei rc.local und fügen Sie vor exit 0 den folgenden Befehl hinzu. Speichern und beenden.
/etc/init.d/mysqld start #mysql startup/etc/init.d/nginx start #nginx startup supervisord -c /etc/supervisor/supervisord.conf # supervisord startup/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null

# 3. Ändern Sie abschließend die Ausführungsberechtigung der Datei rc.local [root@localhost ~]# chmod +x /etc/rc.local
[root@localhost ~]# chmod 755 /etc/rc.local

2. Schreiben Sie selbst ein Shell-Skript

Legen Sie das geschriebene Skript (.sh-Datei) in das Verzeichnis /etc/profile.d/. Alle Shell-Skripte in diesem Verzeichnis werden nach dem Systemstart automatisch ausgeführt.

3. Über den Befehl chkconfig festlegen

# 1. Verschieben Sie die (Skript-)Startdatei in das Verzeichnis /etc/init.d/ oder /etc/rc.d/init.d/. (Ersteres ist ein Softlink zu Letzterem)
mv /www/wwwroot/test.sh /etc/rc.d/init.d

# 2. Achten Sie darauf, die folgenden drei Codezeilen vor der Startdatei hinzuzufügen, da sonst die Meldung angezeigt wird, dass chkconfig nicht unterstützt wird.
#!/bin/sh weist das System an, die Shell zu verwenden, daher sehen alle Shell-Skripte so aus: #chkconfig: 35 20 80 stellt jeweils den Ausführungslevel, die Startpriorität und die Herunterfahrpriorität dar. Diese Codezeile muss #description: http-Server lauten. Sie können sie beliebig verwenden! ! ! Diese Codezeile muss /bin/echo $(/bin/date +%F_%T) >> /tmp/test.log sein.

# 3. Fügen Sie dem Skript Ausführungsberechtigungen hinzu chmod +x /etc/rc.d/init.d/test.sh

# 4. Fügen Sie das Skript zum automatischen Startprojekt hinzu. Zu chkconfig hinzufügen und beim Booten automatisch starten.
[root@localhost ~]# cd /etc/rc.d/init.d
[root@localhost ~]# chkconfig --add test.sh
[root@localhost ~]# chkconfig test.sh ein

# 5. Booten ausschalten [root@localhost ~]# chkconfig test.sh off

# 6. Löschen Sie test.sh aus der chkconfig-Verwaltung
[root@localhost ~]# chkconfig --del test.sh

# 7. chkconfig-Verwaltung anzeigen [root@localhost ~]# chkconfig --list test.sh

4. Servicedateien anpassen, zu Systemdiensten hinzufügen und über Systemctl verwalten

1. Schreiben Sie Servicedateien: wie nginx.service, redis.service, supervisord.service

[Unit]: Beschreibung des Dienstes Beschreibung: Beschreiben Sie den Dienst Nachher: ​​Beschreiben Sie die Dienstkategorie [Dienst] Einstellungen für die Ausführungsparameter des Dienstes Type=forking ist die Form der Ausführung im Hintergrund ExecStart ist der spezifische Ausführungsbefehl des Dienstes ExecReload ist der Neustartbefehl des Dienstes ExecStop ist der Stoppbefehl des Dienstes PrivateTmp=True bedeutet, dem Dienst unabhängigen temporären Speicherplatz zuzuweisen Hinweis: Für alle Start-, Neustart- und Stoppbefehle müssen absolute Pfade verwendet werden [Install] Zugehörige Einstellungen für die Dienstinstallation, die auf Mehrbenutzer eingestellt werden können WantedBy=multi-user.target 

2. Die Datei wird im Verzeichnis: mit 754 Berechtigungen gespeichert. Verzeichnispfad: /usr/lib/systemd/system. Beispielsweise wird die obige Datei supervisord.service in diesem Verzeichnis abgelegt.

[root@localhost ~]# cat /usr/lib/systemd/system/nginx.service
[root@localhost ~]# cat /usr/lib/systemd/system/supervisord.service

3. Stellen Sie das System so ein, dass es beim Booten automatisch startet (Ausführung in einem beliebigen Verzeichnis). Wenn beim Ausführen des Startbefehls ein Fehler auftritt, führen Sie Folgendes aus: systemctl daemon-reload

Automatischen Start einrichten [root@localhost ~]# systemctl enable nginx.service    
[root@localhost ~]# systemctl enable supervisord

Automatisches Booten stoppen [root@localhost ~]# systemctl disable nginx.service
[root@localhost ~]# systemctl deaktivieren supervisord

Überprüfen Sie, ob es beim Booten gestartet wird [root@localhost ~]# systemctl is-enabled nginx
[root@localhost ~]# systemctl ist aktiviert supervisord

4. Andere Befehle

Starten Sie den Nginx-Dienst [root@localhost ~]# systemctl start nginx.service

Stoppen Sie den Nginx-Dienst [root@localhost ~]# systemctl start nginx.service

Starten Sie den Nginx-Dienst neu [root@localhost ~]# systemctl restart nginx.service

Den aktuellen Status des Nginx-Dienstes anzeigen [root@localhost ~]# systemctl status nginx.service

Alle gestarteten Dienste anzeigen [root@localhost ~]# systemctl list-units --type=service

5. Beispiel für eine Servicedatei:

# supervisord.service Prozessmanagement-Servicedatei [Unit]
Beschreibung=Process Monitoring and Control Daemon # Definieren Sie den Inhalt selbst: Beschreibung=Supervisor-Daemon
Nach=rc-local.service nss-user-lookup.target

[Service]
Typ=Forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop= /usr/bin/supervisorctl Herunterfahren 
ExecReload=/usr/bin/supervisorctl neu laden
Neustart=bei Fehler
NeustartSec=42s
KillMode=Prozess 

[Installieren]
WantedBy=Mehrbenutzer.Ziel

# nginx.service Servicedatei [Unit]
Beschreibung=nginx – Hochleistungs-Webserver
Nach=Netzwerk.Ziel Remote-FS.Ziel NSS-Lookup.Ziel

[Service]
Typ=Forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s neu laden
ExecStop=/usr/local/nginx/sbin/nginx -s stoppen

[Installieren]
WantedBy=Mehrbenutzer.Ziel

# redis.service Servicedatei [Unit]
Beschreibung=Redis
Nach=Netzwerk.Ziel Remote-FS.Ziel NSS-Lookup.Ziel

[Service]
Typ=Forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=kill -INT `cat /tmp/redis.pid`
Benutzer=www
Gruppe=www

[Installieren]
WantedBy=Mehrbenutzer.Ziel

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Drei Möglichkeiten, den automatischen Start von Linux-Diensten einzurichten
  • So richten Sie Oracle so ein, dass es beim Booten unter Linux automatisch gestartet wird
  • Oracle-Startskript unter Linux und dessen Start
  • Starten und Stoppen von Oracle-Diensten und automatischer Start des Bootvorgangs unter Linux
  • So richten Sie den Redis-Start in Linux ein
  • Schritte zum Starten des Nodemanagers beim Linux-Boot
  • Redis-Passworteinstellung und Autostart unter Linux
  • Detaillierte Erklärung des Linux-Bootvorgangs
  • So starten Sie den Redis-Dienst automatisch, wenn Linux hochfährt
  • Beispiel zum Einrichten eines Linux-Systems zur automatischen Ausführung eines Skripts beim Start

<<:  MySQL-Index für Anfänger

>>:  vue $set implementiert die Zuweisung von Werten zu Array-Sammlungsobjekten

Artikel empfehlen

Detailliertes Installationstutorial für Zabbix 4.04 (basierend auf CentOS 7.6)

1. Vorbereitung vor der Installation: 1.1 JDK ins...

CSS3 realisiert den verschiebbaren Zauberwürfel-3D-Effekt

Hauptsächlich verwendete Wissenspunkte: •CSS3 3D-...

Schritte zur Überprüfung der MySQL InnoDB-Row_ID-Grenzwertüberschreitung

Hintergrund Ich habe mit meinen Klassenkameraden ...

So installieren und konfigurieren Sie den Apache-Webserver

Erfahren Sie, wie Sie Ihre eigene Website auf Apa...

Vue-Grundlagen-Tutorial: Bedingtes Rendering und Listen-Rendering

Inhaltsverzeichnis Vorwort 1.1 Funktion 1.2 So st...

Ausführliches Tutorial zur Installation von MySQL 8.0.19 (Windows 64 Bit)

Inhaltsverzeichnis MySQL initialisieren MySQL-Die...

Beispiel für die Konfiguration mehrerer virtueller Hosts in nginx

Es ist sehr praktisch, den virtuellen Host vhost ...

mysqldump-Parameter, die Sie möglicherweise nicht kennen

Im vorherigen Artikel wurde erwähnt, dass die in ...

Detaillierte Erklärung der Stile in uni-app

Inhaltsverzeichnis Stile in uni-app Zusammenfasse...

mysql5.7 Installations- und Konfigurationstutorial unter Centos7.3

In diesem Artikel finden Sie das Installations- u...

Fallstudie zu JavaScript-Funktionsaufrufen, Apply- und Bind-Methoden

Zusammenfassen 1. Ähnlichkeiten Beide können den ...

js, um einen einfachen Front-End-Paging-Effekt zu erzielen

Einige Projekte haben ein relativ einfaches Gesch...

Einführung in die CSS-Stilklassifizierung (Grundkenntnisse)

Klassifizierung von CSS-Stilen 1. Interner Stil -...

Beispielcode zum Festlegen des Beschriftungsstils mithilfe des CSS-Selektors

CSS-Selektoren Durch Festlegen des Stils für das ...

So überprüfen Sie die Version des Kali Linux-Systems

1. Überprüfen Sie die Kali-Linux-Systemversion Be...