Apache HTTP Server leállítása és újraindítása

Kecses újraindítás

Jel: USR1 apachectl -k graceful

A USR1 vagy graceful jel arra készteti a szülői folyamatot, hogy a szülői folyamat azt tanácsolja a gyerekeknek, hogy az aktuális kérésük után lépjenek ki (vagy azonnal lépjenek ki, ha “nem szolgál ki semmit). A szülő újra elolvassa a konfigurációs fájlokat és újból megnyitja a naplófájlokat. Amint minden gyermek elhunyt, a szülő kicseréli a konfiguráció új generációjának gyermekével, amely azonnal megkezdi az új kérések kiszolgálását.

Ezt a kódot úgy tervezték, hogy mindig tiszteletben tartsa az MPM-ek folyamatirányítási irányelvét, így az ügyfelek kiszolgálására rendelkezésre álló folyamatok és szálak számát az újraindítási folyamat során a megfelelő értékeken tartják. div id = “729f2093ce”>

a következő módon: ha egy másodperc múlva legalább StartServers új gyermekeket nem hoztak létre, majd hozzon létre annyit, hogy felvegye a lazaságot. Ezért a kód megpróbálja fenntartani a kiszolgáló aktuális terhelésének megfelelő gyermekek számát, és a StartServers paraméterrel tiszteletben tartja kívánságait.

A (z) mod_status észreveszi, hogy a kiszolgáló statisztikái nincsenek nullára állítva, amikor egy USR1 üzenetet küld. A kódot úgy írták, hogy minimalizálják azt az időt, amely alatt a szerver nem tudja kiszolgálni az új kéréseket (ezeket az operációs rendszer sorba állítja, így “semmiképpen sem vesznek el”), és hogy tiszteletben tartsa a hangolási paramétereket. Ehhez meg kell őriznie az eredménytáblát, amellyel nyomon követheti az összes gyermeket generációkon átívelő gyerekeket.

Az állapot modul egy G -t is használ arra, hogy megjelölje azokat a gyermekeket, akik A kecses újraindítás előtt megkezdett, továbbra is kiszolgáló kérelmek.

Jelenleg nincs mód arra, hogy a USR1 parancsot használó naplóforgató szkript biztosan tudja, hogy minden gyermek ír az újraindítás előtti napló befejeződött. Javasoljuk, hogy használjon megfelelő késleltetést a USR1 jel elküldése után, mielőtt bármit is tenne a régi naplóval. Például, ha a legtöbb találat kevesebbet vesz igénybe 10 percnél rövidebb ideig a felhasználók számára az alacsony sávszélességű linkeken, várjon 15 percet, mielőtt bármit is csinálna a régi naplóval.

Az újraindítás kiadásakor először egy szintaktikai ellenőrzés fut, hogy megbizonyosodjon arról, hogy nincsenek hibák a konfigurációs fájlokban. Ha a konfigurációs fájl hibákat tartalmaz, hibaüzenetet kap a szintaktikai hibáról, és a szerver nem hajlandó újraindítani. Ezzel elkerülhető az a helyzet, amikor a szerver leáll, majd nem tud újraindulni, így nem működő szerver marad.

Ez még mindig nem garantálja, hogy a szerver megfelelően indul újra. A konfigurációs fájlok szemantikájának és a szintaxis ellenőrzéséhez megpróbálhatja elindítani a httpd szolgáltatást nem root felhasználóként. Ha nincs hiba, akkor megpróbálja megnyitni a foglalatait és naplóit, és meghiúsul, mert nem root (vagy mert a jelenleg futó httpd fájlok már vannak kötve). Ha nem sikerül bármely más okból valószínűleg egy konfigurációs fájl hibája, és a hibát ki kell javítani, mielőtt kiadná a kecses újraindítást.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük