En av de viktigste for en systemadministrator å vite er hvordan man konfigurerer tjenesten ved oppstart, så når en server får en omstart, starter de automatisk.
Det kan være ulike årsaker til omstart av serveren, inkludert følgende.
- Planlagt for ukentlig, månedlig
- Uventet på grunn av maskinvare/kjerneproblem
Ved å gjøre riktig konfigurasjon trenger du ikke å starte dem manuelt hver gang du starter på nytt.
Litt automatisering. Ikke sant?
Følgende eksempler er for to populære distroer testet på DigitalOcean servere.
Innholdsfortegnelse
CentOS eller RHEL 6.x
I følgende eksempel har jeg tatt en Apache HTTP-server, men prosedyren forblir den samme for alle andre tjenester du ønsker å starte ved oppstart i Red Hat Enterprise Linux (RHEL) eller CentOS 6 versjon.
Du kan beholde hvilket som helst skriptfilnavn, og her har jeg beholdt httpd
- Bli en root-bruker på din Linux-server
- Lag eller kopier skriptet ditt 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 bruke chkconfig-verktøyet som er tilgjengelig som standard på Linux eller CentOS.
- Legg til skript for å starte ved oppstart ved å bruke chkconfig med –add parameter
[[email protected] init.d]# chkconfig --add httpd [[email protected] init.d]# chkconfig httpd on
- Bekreft at skriptet er lagt til 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-skriptet vil bli kalt for å starte tjenester ved Linux-oppstart.
I tilfelle du trenger å deaktivere autostart-tjenesten, kan du bruke følgende kommandoer
chkconfig httpd off chkconfig --del httpd
RHEL eller CentOS 7.x/8.x
Prosedyren for å konfigurere tjenester ved oppstart i RHEL 7 er litt annerledes enn RHEL 6. Den bruker systemd for å administrere tjenestene.
Mesteparten av programvaren som Apache, PHP, MySQL, Nginx-skript legges til i tjenester når du installerer den.
La oss ta et eksempel på PHP-FPM.
Først, la oss se statusen til php-fpm (dette antar at du allerede har skript 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 statusen deaktivert, noe som betyr at den ikke er konfigurert til å starte ved oppstart.
La oss aktivere php-fpm for å starte ved oppstart ved å bruke 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] ~]#
La oss nå se statusen
[[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 å starte ved oppstart. La oss teste det ved å starte serveren på nytt.
Hvis du noen gang trenger å deaktivere starttjenester ved oppstart, kan du bruke kommandoen nedenfor
systemctl disable php-fpm
Du foretrekker kanskje også å sjekke ut dette innlegget som forklarer systemd og automatisk starttjenester ved oppstart.
Ubuntu
Konfigurering av autostart-tjenester i Ubuntu er litt annerledes. La oss si at skriptnavnet er Nginx
- Logg på Ubuntu server med root
- Kopier skriptet i mappen /etc/init.d/
- Utfør kommandoen nedenfor
update-rc.d nginx defaults
- Start serveren på nytt for å sikre at tjenestene startes.
Dette har hjulpet meg, og jeg tror det vil være nyttig for deg også.
Systemadministrasjon er alltid morsomt og utfordrende, og hvis du ønsker å forsterke karrieren din i det, kan du referere til dette Udemy kurs.
Deretter kan du sjekke hvordan du finner årsaken til plutselig omstart av Linux.
Gå hit du vil installere/oppgradere PHP-FPM 5.6 på CentOS 6.x.
Likte du å lese artikkelen? Hva med å dele med verden?