Vikten av Automatisk Tjänststart vid Serverstart
För en systemadministratör är det grundläggande att förstå hur man konfigurerar tjänster så att de startar automatiskt när en server startas om.
Det finns flera anledningar till varför en server kan behöva startas om:
- Planerade omstarter för underhåll, antingen veckovis eller månadsvis.
- Oväntade omstarter på grund av maskinvaruproblem eller kärnfel.
Genom att konfigurera tjänsterna korrekt kan man undvika manuell start varje gång en server startar om, vilket sparar tid och ansträngning.
Detta är ett viktigt steg mot automatisering, eller hur?
Följande exempel visar hur man gör detta på två populära Linuxdistributioner, testade på DigitalOcean-servrar.
Konfiguration på CentOS eller RHEL 6.x
I det här exemplet används en Apache HTTP-server som illustration, men metoden är identisk för alla tjänster som ska starta automatiskt i Red Hat Enterprise Linux (RHEL) eller CentOS version 6.
Du kan välja valfritt namn för skriptfilen, här används ”httpd” som exempel.
- Börja med att logga in som root-användare på din Linuxserver.
- Skapa eller kopiera ditt startskript till katalogen /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]#
Verktyget ”chkconfig”, som är standard på Linux eller CentOS, används för att hantera tjänster.
- Använd chkconfig med parametern –add för att lägga till skriptet för automatisk start.
[[email protected] init.d]# chkconfig --add httpd
[[email protected] init.d]# chkconfig httpd on
- Bekräfta att skriptet har lagts till genom att använda –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]#
Nu är det klart! Skriptet ”httpd” kommer att startas automatiskt vid nästa Linux-start.
För att inaktivera automatisk start kan du använda följande kommandon:
chkconfig httpd off
chkconfig --del httpd
Konfiguration på RHEL eller CentOS 7.x/8.x
Proceduren för att konfigurera tjänster vid start i RHEL 7 skiljer sig från RHEL 6. Den använder systemd för att hantera tjänster.
De flesta program, som Apache, PHP, MySQL och Nginx, lägger automatiskt till sina skript som tjänster under installationen.
Låt oss använda PHP-FPM som exempel.
Först kontrollerar vi statusen för php-fpm (förutsatt att skriptet finns 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 är statusen ”disabled”, vilket innebär att den inte är konfigurerad att starta automatiskt.
Vi aktiverar php-fpm för automatisk start med 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] ~]#
Låt oss nu kontrollera statusen igen:
[[email protected] ~]# systemctl status php-fpm
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] ~]#
Nu är php-fpm redo att starta automatiskt vid serverstart. Vi kan testa detta genom att starta om servern.
För att inaktivera tjänster från att starta vid start, använd följande kommando:
systemctl disable php-fpm
Du kanske också vill läsa om systemd och autostart av tjänster.
Konfiguration på Ubuntu
Att konfigurera autostarttjänster i Ubuntu skiljer sig något. Låt oss anta att skriptet heter ”Nginx”.
- Börja med att logga in på Ubuntu-servern som root.
- Kopiera skriptet till katalogen /etc/init.d/.
- Kör följande kommando:
update-rc.d nginx defaults
- Starta om servern för att försäkra dig om att tjänsten startar automatiskt.
Denna information har varit hjälpsam för mig, och jag tror att den kan vara till nytta för dig också.
Systemadministration kan vara både roligt och utmanande. Om du vill utveckla din karriär inom detta område kan du utforska denna Udemy kurs.
Läs sedan om hur du felsöker plötsliga omstarter av Linux.
Här hittar du hur du installerar/uppgraderar PHP-FPM 5.6 på CentOS 6.x.
Gillade du artikeln? Dela den gärna med andra!