Automatisk start av tjenester i Linux: Guide for CentOS, RHEL & Ubuntu

Konfigurering av tjenester for automatisk oppstart på Linux-servere

En av de essensielle ferdighetene for en systemadministrator er å kunne konfigurere tjenester slik at de starter automatisk når en server starter på nytt. Dette sikrer kontinuerlig drift uten manuelt inngrep.

Det finnes flere årsaker til at en server må startes på nytt, her er noen vanlige scenarioer:

  • Planlagte omstarter for vedlikehold (ukentlig eller månedlig).
  • Uforutsette omstarter grunnet maskinvarefeil eller problemer med kjernen.

Korrekt konfigurasjon eliminerer behovet for å manuelt starte tjenester hver gang serveren reaktiveres. Dette er et viktig skritt mot automatisering av serverdriften.

Nedenfor presenteres eksempler for to populære Linux-distribusjoner, testet på servere hos DigitalOcean.

CentOS eller RHEL 6.x

Dette eksemplet viser hvordan man konfigurerer en Apache HTTP-server til å starte automatisk, men samme fremgangsmåte kan brukes for alle andre tjenester i Red Hat Enterprise Linux (RHEL) eller CentOS 6.

Du kan beholde navnet på eksisterende skriptfiler, her brukes ‘httpd’ som eksempel.

  • Logg inn som root-bruker på Linux-serveren.
  • Opprett eller kopier skriptet til /etc/init.d/-katalogen.

    # ls -ltr httpd
    -rwxr-xr-x. 1 root root 3371 Jan 6 08:56 httpd
    #
  

Verktøyet «chkconfig», som er standard i disse distribusjonene, brukes til å administrere oppstartstjenester.

  • Bruk «chkconfig» med «–add»-parameter for å legge til skriptet i oppstartssekvensen.

    # chkconfig --add httpd
    # chkconfig httpd on
  
  • Bekreft at skriptet er lagt til ved å bruke «–list»-parameteren.

    # chkconfig --list httpd
    httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
    #
  

Nå vil «httpd»-skriptet automatisk starte tjenesten ved hver serveroppstart.

For å deaktivere automatisk oppstart, bruk disse kommandoene:


        chkconfig httpd off
        chkconfig --del httpd
    

RHEL eller CentOS 7.x/8.x

I RHEL 7 og nyere versjoner administreres tjenester med «systemd», noe som gir en annen tilnærming enn i RHEL 6. Ofte legges skript for programvare som Apache, PHP, MySQL og Nginx til som tjenester under installasjonen.

La oss se på et eksempel med PHP-FPM.

Først, sjekk statusen til «php-fpm» (forutsatt at skriptet er plassert i /usr/lib/systemd/system/):


        # 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)
        #
  

Statusen viser at «php-fpm» er deaktivert for oppstart.

Aktiver «php-fpm» for automatisk oppstart med «systemctl»:


        # 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.
        #
    

Sjekk statusen igjen:


    # 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)
    #
  

Nå er «php-fpm» konfigurert for automatisk start ved oppstart. Test ved å starte serveren på nytt.

For å deaktivere automatisk oppstart, bruk følgende kommando:


        systemctl disable php-fpm
    

Du kan også finne mer informasjon om «systemd» og automatisk oppstart av tjenester i andre kilder.

Ubuntu

I Ubuntu gjøres konfigurasjonen av autostart-tjenester litt annerledes. La oss anta at skriptet heter «Nginx».

  • Logg inn på Ubuntu-serveren som root.
  • Kopier skriptet til /etc/init.d/-mappen.
  • Kjør kommandoen:

     update-rc.d nginx defaults
  
  • Start serveren på nytt for å verifisere at tjenestene starter automatisk.

Forhåpentligvis vil denne informasjonen være til nytte for deg. Systemadministrasjon kan være både utfordrende og givende. Hvis du ønsker å utvikle dine ferdigheter innen systemadministrasjon, kan du sjekke ut dette Udemy-kurset.

Du kan også lese om hvordan man identifiserer årsaken til uventede serveromstarter.

Følte du at denne artikkelen var nyttig? Del den gjerne med andre!