En af de væsentligste for en systemadministrator at vide er, hvordan man konfigurerer service ved opstart, så når en server genstarter, starter de automatisk.
Der kan være forskellige årsager til genstart af serveren, herunder følgende.
- Planlagt til ugentlig, månedlig
- Uventet på grund af hardware/kerneproblem
Ved at udføre den rigtige konfiguration behøver du ikke at starte dem manuelt hver gang du genstarter.
En lille smule automatisering. Er det ikke?
Følgende eksempler er for to populære distros testet på DigitalOcean servere.
Indholdsfortegnelse
CentOS eller RHEL 6.x
I det følgende eksempel har jeg taget en Apache HTTP-server, men proceduren forbliver den samme for alle andre tjenester, du ønsker at starte ved opstart i Red Hat Enterprise Linux (RHEL) eller CentOS 6 version.
Du kan beholde et hvilket som helst script filnavn, og her har jeg beholdt httpd
- Bliv root-bruger på din Linux-server
- Opret eller kopier dit script under /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]#
Vi vil bruge chkconfig-værktøjet, som er tilgængeligt som standard på Linux eller CentOS.
- Tilføj script for at starte ved opstart ved hjælp af chkconfig med –add parameter
[[email protected] init.d]# chkconfig --add httpd [[email protected] init.d]# chkconfig httpd on
- Bekræft, at scriptet er tilføjet med –list
[[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]#
Det er alt! httpd script vil blive kaldt for at starte tjenester ved Linux boot.
Hvis du har brug for at deaktivere autostart-tjenesten, kan du bruge følgende kommandoer
chkconfig httpd off chkconfig --del httpd
RHEL eller CentOS 7.x/8.x
Proceduren til at konfigurere tjenester ved opstart i RHEL 7 er lidt anderledes end RHEL 6. Den bruger systemd til at administrere tjenesterne.
Det meste af softwaren som Apache, PHP, MySQL, Nginx scripts tilføjes i tjenester, når du installerer det.
Lad os tage et eksempel på PHP-FPM.
Først og fremmest, lad os se status for php-fpm (dette antager, at du allerede har scripts i /usr/lib/systemd/system/)
[[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] ~]#
Som du kan se, er status deaktiveret, hvilket betyder, at den ikke er konfigureret til at starte ved opstart.
Lad os aktivere php-fpm til at starte ved opstart ved at bruge systemctl
[[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] ~]#
Lad os nu se status
[[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 er klar til at starte ved opstart. Lad os teste det ved at genstarte serveren.
Hvis du nogensinde har brug for at deaktivere starttjenester ved opstart, kan du bruge nedenstående kommando
systemctl disable php-fpm
Du foretrækker måske også at tjekke dette indlæg, der forklarer systemd og automatisk starttjenester ved opstart.
Ubuntu
Konfiguration af autostart-tjenester i Ubuntu er lidt anderledes. Lad os sige, at scriptnavnet er Nginx
- Log ind på Ubuntu server med root
- Kopier scriptet i mappen /etc/init.d/
- Udfør nedenstående kommando
update-rc.d nginx defaults
- Genstart serveren for at sikre, at tjenester er startet.
Dette har hjulpet mig, og jeg tror, at det også vil være til gavn for dig.
Systemadministration er altid sjovt og udfordrende, og hvis du ønsker at supercharge din karriere inden for det, så kan du henvise til dette Udemy kursus.
Dernæst skal du tjekke, hvordan du finder Linux pludselig genstartsårsag.
Gå hertil, du vil installere/opgradere PHP-FPM 5.6 på CentOS 6.x.
Nydt at læse artiklen? Hvad med at dele med verden?