Programų paleidimas serverio įkrovos metu
Įvadas
Kai jūsų serveris įdiegtas, jam reikia persijungti per kelis lygmenis, vadinamus
runlevel. Kiekviename lygmenyje startuoja įvairios serverio paslaugos: tinklo konfigūravimas, programos, pvz., Apache, pašto bei MySQL serveriai.
Taisyklės
5 veikimo lygmenys (
runlevel):
- runlevel 0: Įjungiamas, kai sistema baigia darbą
- runlevel 1: Įjungiamas, kai sistema startuoja vieno vartotojo režimu
- runlevel 3: Įjungiamas, kai sistema startuoja kelių vartotojų režimu
- runlevel 5: Įjungiamas, kai sistema startuoja kelių vartotojų režimu, naudojama grafinė sąsaja
- runlevel 6: Įjungiamas perkrovos metu
Kiekviena paslauga ar programa turi būti sukonfigūruota taip, kad įsijungtų ir išsijungtų tik tam tikrame lygmenyje. Atitinkamuose lygių kataloguose turite sukurti nuorodas, kurios paleistų reikiamą pradžios scenarijų.
Pavyzdžiuose pateikta DNS serverio paslauga
named. Paslauga sukonfigūruota taip, kad įsijungtų 3 lygmenys ir išsijungtų 0. Pradžios scenarijus faile
/etc/init.d/:
[root@julien root]# ls -al /etc/init.d/named
-rwxr-xr-x 1 root root 2281 jui 13 2004 /etc/init.d/named
Nuoroda sukurta
/etc/rc3.d/ (3 lygmens kataloge):
[root@julien root]# ls -al /etc/rc3.d/S13named
lrwxrwxrwx 1 root root 22 oct 2 15:55 /etc/rc3.d/S13named -> ../init.d/named
Ir kataloge
/etc/rc0.d/ (0 lygio kataloge):
[root@julien root]# ls -al /etc/rc0.d/K45named
lrwxrwxrwx 1 root root 15 oct 2 15:37 /etc/rc0.d/K45named -> ../init.d/named
3 lygmenyje nuoroda
S13named automatiškai paleidžia komandą /etc/init.d/named start. 0 lygmenyje
K5named automatiškai paleidžia komandą /etc/init.d/named stop. Raidė S reiškia 'start', raidė K - 'stop'. Po to nurodytas skaičius reiškia eilę, pagal kurią paleidžiamos paslaugos. DNS neverta startuoti, kol nepaleista paslauga, valdanti tinklo konfigūraciją.
- OVH skirtieji serveriai jungiasi 3 lygmenimi. Paprastai, norėdami, kad paslaugos startuotų kraunantis serveriui, turite konfigūruoti 2, 3, 4 ir 5 lygmenis.
Valdymas
Redhat turi labai naudingą įrankį:
chkconfig, kuri išvardina esamą konfigūraciją ir įgalina paprastas modifikacijas.
- Paslaugų, startuojančių su serveriu, peržiūra
Norėdami peržiūrėti paslaugas, įveskite komandą:
[root@julien root]# /sbin/chkconfig --list
webmin 0:Stop 1:Stop 2:Start 3:Start 4:Stop 5:Start 6:Stop
atd 0:Stop 1:Stop 2:Stop 3:Start 4:Start 5:Start 6:Stop
watchdog 0:Stop 1:Stop 2:Stop 3:Stop 4:Stop 5:Stop 6:Stop
syslog 0:Stop 1:Stop 2:Start 3:Start 4:Start 5:Start 6:Stop
Viena paslauga (pvz., MySQL):
[root@julien root]# /sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Start 3:Start 4:Start 5:Start 6:Stop
Gautoje informacijoje matomi veikimo lygmenys ir veiksmai, kurie atliekami - paslauga paleidžiama arba stabdoma.
Jeigu norite patikrinti tam tikrą lygmenį, naudokite komandą:
/sbin/chkconfig --lygis
Pavyzdys su MySQL, kai paslauga, kraunantis serveriui, nestartuoja automatiškai. Konfigūracijos peržiūroje matoma, kad mysql nestartuoja automatiškai. Toliau pateikiama komanda, kurios pakanka, kad paslauga startuotų kartu su serveriu:
[root@julien root]#/sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Stop 3:Stop 4:Stop 5:Stop 6:Stop
[root@julien root]# /sbin/chkconfig --level 2345 mysql on
[root@julien root]# /sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Start 3:Start 4:Start 5:Start 6:Stop
- Paslaugos, kuriai startuoti, įtraukimas
Įrankis leidžia pakeisti pradžios scenarijaus paslaugas ir sukurti nuorodas.
Pavyzdys MySQL startavimui:
[root@julien root]# cat /etc/init.d/mysql
- !/bin/sh
- Copyright Abandoned 1996 TCX DataKonsult? AB & Monty Program KB & Detron HB
- This file is public domain and comes with NO WARRANTY of any kind
- MySQL daemon start/stop script.
- Usually this is put in /etc/init.d (at least on machines SYSV R4 based
- systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
- When this is done the mysql server will be started when the machine is
- started and shut down when the systems goes down.
- Comments to support chkconfig on RedHat? Linux
- chkconfig: 2345 90 20
- description: A very fast and reliable SQL database engine.
Eilutė:
chkconfig: 2345 90 20 reiškia, kad įjungtas automatinis MySQL konfigūravimas su
chkconfig. MySQL bus paleistas 2, 3, 4, ir 5 lygiuose, eilės numeriai 90 (paleidimui) ir 20 (sustabdymui).
Pavyzdys:
[root@julien root]# /sbin/chkconfig --add mysql
Tikrinimas:
[root@julien root]# /sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Start 3:Start 4:Start 5:Start 6:Stop
[root@julien root]# ls -al /etc/rc3.d/S90mysql
lrwxr-xr-x 1 root root 15 fév 12 16:17 /etc/rc3.d/S90mysql -> ../init.d/mysql
[root@julien root]# ls -al /etc/rc0.d/K20mysql
lrwxr-xr-x 1 root root 15 fév 12 16:17 /etc/rc0.d/K20mysql -> ../init.d/mysql
Kai paslauga įtraukiama į
chkconfig, ji saugoma tol, kol egzistuoja paleidimo failas. Jį ištrinsite taip:
Pavyzdys:
[root@julien root]# /sbin/chkconfig --del mysql
Patikriname, ar viskas buvo ištrinta:
[root@julien root]# /sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Stop 3:Stop 4:Stop 5:Stop 6:Stop
[root@julien root]# ls -al /etc/rc3.d/S90mysql
ls: /etc/rc3.d/S90mysql: No such file or directory