Portál AbcLinuxu, 12. května 2025 11:26

Dotaz: Apache2 pod supervise (daemontools)

2.9.2006 13:28 xHire | skóre: 21 | blog: Linuxovník
Apache2 pod supervise (daemontools)
Přečteno: 234×
Odpovědět | Admin
DD, chtěl bych se zeptat, zda-li někdo nemáte zkušenosti, jak správně nastavit supervise, aby se správně spouštěl Apache. Mně se sice spustí, běží, přijímá požadavky a správně je vyřizuje, ale pořád se pokouší o znovu spouštění Apache. Obsah `run` souboru je:
#!/bin/sh
exec 2>&1
exec /usr/local/apache2/bin/httpd -k start


A log soubory mám pak plné této hlášky:
@4000000044f960e218928cdc httpd (pid 22240) already running

A ve výpisu ps:
22240 ? Ss 0:00 /usr/local/apache2/bin/httpd -k start
22241 ? S 0:00 /usr/local/apache2/bin/httpd -k start
22242 ? S 0:00 /usr/local/apache2/bin/httpd -k start
22243 ? S 0:00 /usr/local/apache2/bin/httpd -k start
22244 ? S 0:00 /usr/local/apache2/bin/httpd -k start
22245 ? S 0:00 /usr/local/apache2/bin/httpd -k start
22246 ? S 0:00 /usr/local/apache2/bin/httpd -k start
22247 ? Z 0:00 [httpd] <defunct>

Proces 22247 (poslední) vlastní root, ostatní určený neprivilegovaný uživatel.

Zajímavé však je, že za nějakou dobu proces 22247 zmizí a vše je už jakoby v pořádku. Při psaní run souboru jsem se inspiroval u qmailu (kde vše funguje jak má). Jo a ještě jedna věc: `readproctitle service` nehlásí žádné chyby.

Dokázal by mi někdo říct, jestli někde dělám chybu? Nebo to je klasické chování? Děkuji
Kryptoměny a bločenka.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.9.2006 14:58 xHire | skóre: 21 | blog: Linuxovník
Rozbalit Rozbalit vše Re: Apache2 pod supervise (daemontools)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vážně nikdo neví? :-(
Kryptoměny a bločenka.
3.9.2006 15:11 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Apache2 pod supervise (daemontools)
Když se podíváš do výpisu procesů (ps axfu), tak uvidíš, že apache má jeden "hlavní" proces a ten má dětičky, který se staraj o obsluhu klientů.
root      2438  0.0  0.8  27380 12444 ?        Ss   Sep01   0:00 /usr/sbin/httpd
apache     819  0.0  0.3  27380  5708 ?        S    04:03   0:00  \_ /usr/sbin/httpd
apache     820  0.0  0.3  27380  5692 ?        S    04:03   0:00  \_ /usr/sbin/httpd
apache     821  0.0  0.3  27380  5692 ?        S    04:03   0:00  \_ /usr/sbin/httpd
apache     822  0.0  0.3  27380  5692 ?        S    04:03   0:00  \_ /usr/sbin/httpd
apache     823  0.0  0.3  27380  5692 ?        S    04:03   0:00  \_ /usr/sbin/httpd
apache     824  0.0  0.3  27380  5692 ?        S    04:03   0:00  \_ /usr/sbin/httpd
apache     825  0.0  0.3  27380  5692 ?        S    04:03   0:00  \_ /usr/sbin/httpd
apache     826  0.0  0.3  27380  5692 ?        S    04:03   0:00  \_ /usr/sbin/httpd
Takže tě musí zajímat pouze ten jeden jedinej proces co je jako hlavní...
-- Nezdar není hanbou, hanbou je strach z pokusu.
3.9.2006 15:19 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache2 pod supervise (daemontools)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Proces pod daemontools musí běžet na popředí, tzn. https spouštět asi s parametrem -X. Jakmile se proces odsune na pozadí (udělá ze sebe démona), deamontools to vyhodnotí jako ukončení procesu a pokusí se jej nastartovat znova. Viz takě daemontools FAQ.
14.9.2006 22:05 xHire | skóre: 21 | blog: Linuxovník
Rozbalit Rozbalit vše Re: Apache2 pod supervise (daemontools)
Toto mi sice fungovalo, ale zjisitil jsem, že toto spouštění mnohokrát apache zpomalí. Když mi stránka (jednoduchá) na lokále nabíhá ± čtvrt minuty, tak něco v pořádku není. :-/ Náhodou jsem zkusil apache spustit "klasicky" a stránka naběhla bleskově. Nemůže to být tím, že se spouští pouze 2 'instance' (vlákna)?

Toto pomalé, leč spolehlivé, řešení mi nevyhovuje. Je ještě jiná možnost, jak třeba supervise trochu obejít a podstrčit mu něco (ovšem při zachování funkčnosti a znovunahození v případě pádu)?
Kryptoměny a bločenka.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.