Üdv!
Jelenleg van egy apache2 webszerverem, mely több Virtual Host-ot szolgál ki, így egy osztott tárhelyet üzemeltet. Eddig mod_php-t használtam, viszont úgy gondoltam áttérek a mod_fcgid-re, több oknál fogva.
Rendszer:
- Debian Lenny
- Apache 2.2.9
- PHP 5.2.6-1+lenny9
- mod_fcgid
Viszont van egy saját fejlesztésű webadmin panelem, ami például Virtual Host hozzáadásakor szépen futtat egy "/etc/init.d/apache2 reload" parancsot, és ekkor jön elő a gond. A böngésző szerint a kapcsolat megszakadt, a log szerint meg:
[Sat Sep 11 10:24:26 2010] [emerg] mod_fcgid: server is restarted, 8051 must exit
[Sat Sep 11 10:24:26 2010] [emerg] (22)Invalid argument: mod_fcgid: can't get lock, pid: 8051
[Sat Sep 11 10:24:26 2010] [emerg] mod_fcgid: server is restarted, 8056 must exit
[Sat Sep 11 10:24:26 2010] [emerg] (22)Invalid argument: mod_fcgid: can't get lock, pid: 8056
[Sat Sep 11 10:24:26 2010] [emerg] mod_fcgid: server is restarted, 8052 must exit
[Sat Sep 11 10:24:26 2010] [emerg] (22)Invalid argument: mod_fcgid: can't get lock, pid: 8052
Akárhol keresgéltem, megoldást nem nagyon leltem rá, egyenlőre kényszer megoldás, hogy a script késleltetve reloadol 10 másodperccel, de ettől még elhalnak a php processek minden más oldalon, ami nem jó. Egyedül olyanokat olvastam, hogy az apache processnek más pid-je lesz, és az fcgid már nem tud vele kommunikálni, de megoldást nem találtam.
Segítségeteket előre is köszönöm!
Szerk:
Frissítettem a legújabb 2.3.5-re, talán ezzel már nem lesz ilyen gond (bár még nem a lenny tárolóban volt, hanem a sid-ben)
- 1382 megtekintés
Hozzászólások
Nincs ötlete senkinek? :(
- A hozzászóláshoz be kell jelentkezni
graceful nem opcio?
- A hozzászóláshoz be kell jelentkezni
miért nem mod_fastcgi-t használsz? ott nem tapasztaltam ilyet.
- A hozzászóláshoz be kell jelentkezni
A mod_fcgid újabb, és úgy tudom a fastcgi nem túl stabil. De cáfolj meg ha nem így van.
- A hozzászóláshoz be kell jelentkezni
A kettő közötti különbség a licencelésben van elsősorban.
Mi használjuk a mod_fastcgi-t, minden megelégedéssel. Általában egy kicsit gyorsabb is mint a mod_fcgid, legalábbis teszteken.
- A hozzászóláshoz be kell jelentkezni
UP
- A hozzászóláshoz be kell jelentkezni
Ez nem by design ilyen?
- A hozzászóláshoz be kell jelentkezni
az nem lenne jó, ha alapból ilyen lenne.
- A hozzászóláshoz be kell jelentkezni
Nekem mondod, van 5-10 percig(!) induló fcgi scriptem. (Nem én írtam, mielőtt vki nekem esne)
- A hozzászóláshoz be kell jelentkezni
fastcgi-nel a reload szerinten ujrainditja a php-cgi peldanyokat, emiatt van, hogy gyakorlatilag lekilleled sajat magad.
a szep megoldas az lenne, hogy inditasz egy kulon processzt a php scriptedbol, ami inditja a reload-ot, mert valszeg az graceful-t nyomna, azaz megvarna, mig kifutnak a keresek, csak biztos van valami timeoutja, ami utan ha nem lep ki a peldany, akkor kilovi.
namost mivel a reload-ot valoszinuleg nem hatterben futtatod, ezert a php exec vagy system hivasod meg akarja varni a reload lefutasat, ami meg akarja varni a fastcgi manager valaszat, ami meg akarja varni a child-ok graceful ujraindulasat, es itt lett egy korkoros varakozasod, ami egy ido utan megszakad, mert a manager kikilleli a hangelo childot, de ez persze abortalja azt a lapletoltest.
szerintem
Tyrael
- A hozzászóláshoz be kell jelentkezni
Eredetileg van egy script, ami exec-el kerül megnyitásra, most raktam bele timeoutot, és háttérben indul, tehát a webadmin nem várakozik rá, viszont amint a timeout letelik, és én akkor frissítek egy oldalt, akkor ugyanúgy látszik, hogy elhalt a folyamat + a logban is látszik.
- A hozzászóláshoz be kell jelentkezni
Igazad van, én vagyok a hülye:D. Azáltal hogy 10 másodperccel késleltettem a háttérben futó scriptet, a graceful mód megvárt mindent, de az új kérés már nem volt lehetséges, hiszen éppen reloadolt. Most nem várakozik, és nincs ilyen gond! Köszi!
- A hozzászóláshoz be kell jelentkezni
Hát úgytűnik mégis él még a hiba, lehet csak hamarabb futott le, mielőtt kilőtte, és azért volt jó.
- A hozzászóláshoz be kell jelentkezni