Kuinka määrittää verkkopalvelut käynnistymään automaattisesti käynnistyksen yhteydessä


Yleensä on hyvä idea määrittää keskeiset verkkopalvelut käynnistymään automaattisesti käynnistyksen yhteydessä. Tämä säästää vaivaa käynnistää ne manuaalisesti uudelleenkäynnistyksen yhteydessä ja myös siitä aiheutuvasta tuhosta, jos unohdat tehdä niin. Joitakin tärkeitä verkkopalveluita ovat SSH, NTP ja httpd.

Voit varmistaa, mikä on järjestelmän palvelupäällikkösi suorittamalla seuraava komento.

ps --pid 1

Yllä olevan komennon tulosten perusteella käytät yhtä seuraavista komennoista määrittääksesi, käynnistyykö kunkin palvelun automaattisesti käynnistyksen yhteydessä vai ei:

Systemd-pohjaisella
----------- Enable Service to Start at Boot -----------
systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
systemctl disable [service] # prevent [service] from starting at boot
Sysvinit-pohjainen
----------- Start Service at Boot in Runlevels A and B -----------
chkconfig --level AB [service] on 
-----------  Don’t Start Service at boot in Runlevels C and D -----------
chkconfig --level CD service off 

Järjestelmäjärjestelmässä, kuten CentOS 8, RHEL 8 ja Fedora 30+, systemctl komentoa käytetään palveluiden hallintaan. Jos haluat esimerkiksi tarkastella käytöstä poistettuja palveluita, suorita komento:

sudo systemctl list-unit-files --state=disabled
sudo chkconfig --list     [On sysvinit-based]

Alla oleva tuloste tulostaa kaikki käytöstä poistetut palvelut, ja kuten näet, httpd-palvelu on lueteltu, mikä tarkoittaa, että sitä ei ole määritetty käynnistymään käynnistyksen yhteydessä.

Ota palvelu käyttöön käynnistyksen yhteydessä käyttämällä syntaksia:

sudo systemctl enable service-name
sudo chkconfig service_name on     [On sysvinit-based] 

Esimerkiksi httpd-palvelun käyttöönotto käynnistyksen yhteydessä.

sudo systemctl enable httpd
sudo chkconfig httpd on     [On sysvinit-based] 

Varmistaaksesi, että httpd-palvelu on otettu käyttöön, luettele kaikki käytössä olevat palvelut suorittamalla komento:

sudo systemctl list-unit-files --state=enabled
sudo chkconfig --list | grep 3:on     [On sysvinit-based] 

Yllä olevasta tuloksesta voimme selvästi nähdä, että httpd-palvelu näkyy nyt käytössä olevien palveluiden luettelossa.

Saat lisätietoja systemctl- ja chkconfig-komennoista lukemalla seuraavat artikkelit:

  • Kuinka hallita "Systemd" -palveluita ja -yksiköitä käyttämällä "Systemctl" Linuxissa
  • Chkconfig-peruskomentoesimerkkejä Linuxissa