Re: Th: co do jasnej się dzieje a apachem?
Jacek Osiecki
joshua w hybrid.pl
Wto, 8 Gru 2009, 09:41:55 CET
On Tue, 8 Dec 2009, Arkadiusz Miskiewicz wrote:
> On Tuesday 08 of December 2009, Jacek Osiecki wrote:
>> Ostatnio narzekałem na problemy z /etc/init.d/apache restart.
>> Ktoś wspomniał by spróbować upgrade'u apr, niby pomogło ale potem się
>> okazało że jednak był to tylko przypadek.
>>
>> Natomiast teraz jest jakiś KOSZMAR
>>
>> Po graceful reload mam setki procesów httpd.prefork <defunct>, niektóre
>> strony działają inne nie, w logach coś się pojawia albo nie...
> Co masz w:
>
> ps aux|grep httpd
1848 procesów /usr/sbin/httpd.prefork, w tym 1 którego właścicielem jest root
i reszta będących jego potomkami.
> netstat -nlp|grep :80
tcp 0 0 172.16.0.1:80 0.0.0.0:* LISTEN 557/httpd.prefork
tcp 0 0 188.40.8.229:80 0.0.0.0:* LISTEN 557/httpd.prefork
tcp 0 0 188.40.8.227:80 0.0.0.0:* LISTEN 557/httpd.prefork
tcp 0 0 188.40.8.228:80 0.0.0.0:* LISTEN 557/httpd.prefork
tcp 0 0 78.46.33.13:80 0.0.0.0:* LISTEN 557/httpd.prefork
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 557/httpd.prefork
Teraz tak:
Jeśli zrobię /etc/init.d/httpd start, a potem od razu /etc/init.d/httpd stop
- to jest OK, wyłącza się. Ale jeśli zrobię /etc/init.d/httpd reload,
to natychmiast mam kilkaset procesów typu:
http 20500 19994 0 09:28 ? 00:00:00 [httpd.prefork] <defunct>
Jak wtedy zrobię /etc/init.d/httpd stop, to mimo tego ps -ef |grep httpd
pokazuje kilkaset procesów httpd.prefork i drugie tyle [httpd.prefork] <defunct>
> ps. update apra powinien zlikwidować problem dziedziczenia socketów serwera
> przez dzieci - to była główna przyczyna tego typu akcji. Evil user via phpa
> odpalał skrypt perlowy, restart apacza skryptu nie ubijał, a że skrypt
> dziedziczył socketa to i port nadal był zajęty.
Z cgi to jest tylko smokeping - ale on byłby ewentualnie problemem tylko w
momencie gdybym uruchomił restart apache'a gdy właśnie generuje wykresy
dla usera oglądającego stronkę smokepinga, a że jedynym takim userem
jestem ja to raczej nie to.
Na początku miałem pozostałości moich eksperymentów z fastcgi, fcgid
itp. - ale że wywaliłem na pysk wszystkie suexec/f*cgi to raczej nic z
tych rzeczy. Na serwerze jest jeszcze APC, ale ono nie miesza się
apache'owi w porty.
Jakieś dalsze pomysły? Bo generalnie teraz wygląda, jakby dało się
zrobić wyłącznie nie-graceful restart, co mi bardzo nie odpowiada :(
Pozdrawiam,
--
Jacek Osiecki joshua w ceti.pl GG:3828944
I don't want something I need. I want something I want.
Więcej informacji o liście dyskusyjnej pld-users-pl