Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [APACHE] internal dummy connection - serwer wielokrotnie wykonuje stronę główną
Forum PHP.pl > Forum > Serwery WWW > Apache
shephard
Rzecz dzieje sie w FC5 (Linux)

Na pierwszy wątek nikt nie odpowiedział, więc nie specjalnie licze że na ten ktoś odpowie. Na usenecie też sie wiele nie dowiedziałem...

Więc tak:
W pewnych sytuacjach Apache sam otwiera sobie strone główną na moim serwerze, zależy to od tego czy na serwerze są obrazki (<img...>) - tak jakby w ich poszukiwaniu.

Podczas tej 'samowolki' apache wykonuje kod php (w DocumentRoot), co jest mi niezmiernie nie na rękę...

To samoczynne otwieranie ma niby zamykać wywołane, niedokończone/błędne połączenia (internal dummy connection jest podobno powiązane z wielowątkowością serwera), ale jeśli wykonanie kodu php znajdującego się na stronie głównej serwera jest istotne, to robi się niezły burdel...

Wiem że na większości serwerów wykonanie kodu w takiej sytuacji nie zachodzi i nie powoduje to problemów, niestety u mnie tak nie jest...

Jak ubić 'internal dummy connection' bez stawiania na stronie (w kodzie php) zabezpieczenia przed wykonaniem jesli referer = 127.0.0.1?

Jak kompilujecie swoje Apache? (może tu jest czegos za dużo, czegoś nie WYŁĄCZYŁEM, bo na pewno NIE włączyłem - sam kompiluje Apache)

Chociaż napiszcie że czytacie, a nie tylko przeglądacie ten post :/ Zwykłe 'nie wiem' też jest pocieszające :/
orson
witam

a może ... hmm ... nie, jednak nie wiem

winksmiley.jpg
pozdrawiam
Zbłąkany
A masz może pakiet: httpd-devel-2.2.2-1.0.arch.html ? na rpmfind wyczytałem, że dla ppc on odpowiadał za fix dummy connections smile.gif Mogłeś napisać chociaż, jaką wersję apache używasz, a nie żebym ja musial po postach szukać winksmiley.jpg .
shephard
Oj, przepraszam, późno było, zapomniałem o wersjach winksmiley.jpg

Apache 2.2.3
php 5.1.6

Wszystko sam kompilowałem, więc nie wiem co devel może pomóc?

Wreszcie się ktoś odezwał biggrin.gif
Zbłąkany
A nie można by tak z pakietu zainstalować? W takich systemach jak fedora właśnie po to są pakiety smile.gif , a z tego co widziałem to są pakiety apache 2.2.x smile.gif . A ponadto jak już samemu kompilujesz to rób to z pakietów źródłowych swojej sytrybucji smile.gif . Na moje to jakiegoś patcha od dystrybucji brakuje smile.gif .
shephard
Dobra, chyba ubiłem internal dummy connection.
Wygląda na to że problem leżał w braku wielowątkowości.
Standardowo jest ona wyłaczona, nawet w gotowych kompilatach na stronie projektu apache - nie wiem jak w dystrybucjach do FC i RH, bo wspaniałomyślnie (przynajmniej z FC) wycięto z nich config.nice w którym znajdują się przełączniki użyte podczas kompilacji :/

Tak więc standardowo Apache 2.2.3 kompiluje się z

--with-mpm=prefork

A jedyny ratunek (jaki znalazłem) przed internal dummy connection to

--with-mpm=worker

(chociaż przez twórców php jest niezalecany http://www.php.net/manual/pl/install.unix.apache2.php).

Aha, php też wymagał rekompilacji, dzięki temu zrobiłem testy rozmiarów kompilatów z optymalizacją i bez niej.
Cały Apache+php bez jakichkolwiek dodatkowych optymalizacji: 48.4MB
Z optymalizacją: 25.7MB.
Dodam jeszcze że kompilat że strony apache ma 20MB, mój ma 12...

Dziękuje wszystkim za odpowiedzi, jeśli macie jakieś inne rozwiązania, piszcie smile.gif


Zbłąkany - nie bawię się w pakiety z dystrybucji, FC5 to dla mnie podstawka i jeśli już instaluję coś z dystrybucji... to cały system jak wyjdzie nowa wersja winksmiley.jpg Skompilowane pakiety nie są zoptymalizowane, i instalują się centralnie w systemie, a tego nie lubię - u mnie część serwerowa jest oddzielona od reszty systemu i dzięki temu łatwo wywalic cały system i zainstalować nowy i w ciągu 15 minut do dwóch godzin nadać mu funkcjonalność poprzedniego smile.gif
Jeśli chodzi o źródła to jakoś tak mi sie poukładało że bardziej cenie sobie źródła ze źródła winksmiley.jpg
Zbłąkany
Tak myślałem, że czegoś takowego może brakować winksmiley.jpg . A jeśli idzie o pakiety źródłowe przecież możesz sobie zmieniać w nich wszystko i samemu tworzyć paczki tongue.gif , osobiście polecałbym tobie gentoo, jeśli tak jak ja lubisz mieć wszystko po swojemu smile.gif .
shephard
Z tym brakowaniem, to nie jest tak do końca - nie wiem jak kompilowana jest wiekszość dystrybucji, zwłaszcza biorąc pod uwage to co sam opisałeś wcześniej o pakiecie devel - poczytałem troszke o tym i wydaje się że w FC standardowo kompilowane jest --with-mpm=prefork (w opisach pakietu jest że naprawia błąd segmentacji w dummy connection), bo bez tego dummy connection nie tylko się nie pojawia, ale nie istnieje w kompilacie...

Zauważyłem że w kompilacie z --with-mpm=prefork największy burdel robi ab (benchmark apache). Odpalenie testu
ab -n100 -c100 -k http://localhost/
Powoduje że w logach jeszcze przez kilka minut po zakończeniu testu pojawiają się IDC...

A tu do naszej rozmowy OT:
W FC siedzę, bo kiedyś tylko ona radziła sobie z instalacją z obrazu na NTFS. Teraz mi to powiewa, bo mam dedykowaną maszynę i kandydat na podstawkę musi się tylko instalować z obrazu na dysku (FAT32) i mieć możliwość tworzenia mini płytki bootowalnej - praktycznie nie mam napędów optycznych w serwerze winksmiley.jpg
Myślałem o Sarge, ale główna część strasznie dawno nie aktualizowana, a nie chce mi sie wszystkich pakietów ciągnąć zeby to poaktualizować... Dlatego działam nadal w tym pomiocie RH - czas czegoś poszukać...

Widzę w twoim opisie że działasz na Lighttpd - dużo lepiej niż na apache?
Zbłąkany
Tak działam, co prawda na docelowym środowisku mam nadal apache, ale do testów w domu jest idealny i pod linuksa i pod windowsa (szykuję całkowitą przesiadkę na lightyego we wrześniu) smile.gif mały, szybki, łatwo się go konfiguruje i co najważniejsze dla mnie ma dopracowany mechanizm cgi/fcgi dla php smile.gif A sprawdzałeś apache z workerem?
shephard
ab? Tak. Czyściutko. Jedno wywołanie jedno wykonanie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.