hosthebest 0 Zgłoś post Napisano Luty 4, 2010 Zainstalowałem nginxa ale występują problemy że po jakimś czasie jak jest więcej połączeń nie wyświetla stron php server_child mam ustawione na 10 ale nawet po zmianach dalej ten sam problem występuje. Udostępnij ten post Link to postu Udostępnij na innych stronach
Forma Życia 0 Zgłoś post Napisano Luty 9, 2010 Zainstalowałem nginxa ale występują problemy że po jakimś czasie jak jest więcej połączeń nie wyświetla stron php server_child mam ustawione na 10 ale nawet po zmianach dalej ten sam problem występuje. Wynika to z błędów w php-cgi, nie ważne czym odpalasz procesy fastcgi (np spawn-fcgi z lighttpd) - i tak może pojawić się sławne 502 lub 503. Rozwiązaniem może być php-fpm lub użycie skryptu sprawdzającego czy php-cgi działa i akceptuje połączenia, ja na swoim osobistym serwerze używam czegoś takiego: #!/bin/sh # (bof) # Katalog glowny cd $(dirname $0) base=$(pwd) # Plik tmp tmp="/tmp/phpfix.$$" # Output do pliku? [ -n "$1" ] && exec 1>$tmp 2>&1 3>&1 echo "" # ustawienia php="/usr/bin/php5-cgi" email="moj@email" skrypt="/etc/init.d/init-fcgi start" # skrypt startujacy PHP fcgihost="127.0.0.1 9000" # ip i port procesu fcgi # Init must_start=0 must_email=0 # dziala? pids=$(ps ax | grep "$php$" | grep -v "grep" | cut -d"?" -f1 | tr -d " ") if [ "$pids" != "" ] then #a=$(echo `telnet $fcgihost` | grep "^Connected to localhost") echo "PHP dziala i akceptuje polaczenia!" else echo "PHP nie dziala!" must_start=1 fi # Startowac? if [ $must_start = 1 ] then echo "Startuje PHP..." $skrypt must_email=1 fi echo "Ok!" echo "" # Email? if [ $must_email = 1 -a -n "$1" ] then $base/sendEmail -u "PHP restart na $(hostname)" \ -f $email \ -t $email \ -s localhost:25 \ -o message-file=$tmp >/dev/null 2>&1 fi # wyczysc rm -rf $tmp # (eof) i dodajesz to do cron.d co minutę w moim wypadku skrypt /etc/init.d/init-fcgi wyglada tak: #!/bin/bash PHP_SCRIPT=/usr/bin/php5-fastcgi RETVAL=0 case "$1" in start) $PHP_SCRIPT RETVAL=$? ;; stop) killall -9 php5-cgi RETVAL=$? ;; restart) killall -9 php5-cgi sleep 1 $PHP_SCRIPT RETVAL=$? ;; *) echo "Usage: php-fastcgi {start|stop|restart}" exit 1 ;; esac exit $RETVAL zaś /usr/bin/php5-fastcgi to wrapper dla spawn fcgi: #!/bin/sh /usr/local/bin/spawn-fcgi -P /var/run/php5-cgi.pid -a 127.0.0.1 -p 9000 -C 2 -F 4 -u www-data -f /usr/bin/php5-cgi Mam nadzieję że pomoże :-) Udostępnij ten post Link to postu Udostępnij na innych stronach
hosthebest 0 Zgłoś post Napisano Luty 9, 2010 Słyszałem że nginx+php-fpm to idealne rozwiązanie. Czy ktoś z was używa już takiego rozwiązania i jak się sprawuje w praktyce? Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Luty 9, 2010 Słyszałem że nginx+php-fpm to idealne rozwiązanie. Czy ktoś z was używa już takiego rozwiązania i jak się sprawuje w praktyce?Idealne rozwiązanie to nginx bez php Udostępnij ten post Link to postu Udostępnij na innych stronach
Forma Życia 0 Zgłoś post Napisano Luty 9, 2010 Słyszałem że nginx+php-fpm to idealne rozwiązanie. Czy ktoś z was używa już takiego rozwiązania i jak się sprawuje w praktyce? nie, nie jest to idealne rozwiązanie - php to z zasady potwór spaghetti (czego dowodzi chociażby błąd z implementacją cgi), na serwerach dla klientów stosuję głównie Apache2+mod_php i nginx jako reverse proxy, również ze względu na brak odpowiednika .htaccess w nginxie - jego rewrite'y w konfigach serwera nie są rozwiązaniem, zwłaszcza iż konfig z błędem zatrzyma restart/reload nginxa. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Luty 10, 2010 Idealne rozwiązanie to nginx bez php To na pewno, idealny serwer do serwowania statyki, jednak przy php-fpm działa dobrze obsługa php. Ja mogę polecić Lighty Udostępnij ten post Link to postu Udostępnij na innych stronach
art3c 0 Zgłoś post Napisano Luty 11, 2010 (...) ze względu na brak odpowiednika .htaccess w nginxie - jego rewrite'y w konfigach serwera nie są rozwiązaniem Do praktycznie każdego skryptu są gotowe rewrity dla nginx. Dodatkowe silnik apache'a wypada marnie przy tym, z nginx jeśli chodzi o możliwości. (...) zwłaszcza iż konfig z błędem zatrzyma restart/reload nginxa. Napisanie skryptu, który sprawdza i usuwa wadliwe vhosty - 5 minut. Udostępnij ten post Link to postu Udostępnij na innych stronach
Forma Życia 0 Zgłoś post Napisano Luty 11, 2010 Do praktycznie każdego skryptu są gotowe rewrity dla nginx. Dodatkowe silnik apache'a wypada marnie przy tym, z nginx jeśli chodzi o możliwości. owszeem zastosowanie PCRE w nginxie jest zdecydowanie mocniejsze od rozwiązań zapodanych w apache2. Napisanie skryptu, który sprawdza i usuwa wadliwe vhosty - 5 minut. i jak rozumiem ten skrypt, jakieś załóżmy spaghetti z awk, odpalać co minutę dla kilkuset domen? średnie rozwiązanie. wolałbym, jeśli już bym musiał, napisać albo zlecić komuś napisanie odpowiedniego modułu do samego nginxa, w tej chwili jednak oferuję managed hosting dla aplikacji klientów więc temat pozostaje do medytacji. Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Luty 11, 2010 Do praktycznie każdego skryptu są gotowe rewrity dla nginx. Dodatkowe silnik apache'a wypada marnie przy tym, z nginx jeśli chodzi o możliwości. Tak, z tym, że musi je dodać do głównych plików konfiguracyjnych administrator serwera, co przy shared-hostingu jest dosyć męczące... zarówno dla administratora, jak i użytkownika. Poza tym - prowadzi to do odwiecznych wojen programista<=>admin, gdzie admin mówi, że wpisał regułkę i nie działa - wysypuje serwer; a programista mówi, że tak było w dokumentacji i musi działać... i tak w koło Udostępnij ten post Link to postu Udostępnij na innych stronach
art3c 0 Zgłoś post Napisano Luty 12, 2010 i jak rozumiem ten skrypt, jakieś załóżmy spaghetti z awk, odpalać co minutę dla kilkuset domen? Żadne spaghetti, bardzo prosta regułka sprawdzająca to, co wypluje nginx (w trybie testowym) + mały hack na configa. Tak, z tym, że musi je dodać do głównych plików konfiguracyjnych administrator serwera, co przy shared-hostingu jest dosyć męczące... zarówno dla administratora, jak i użytkownika. Nieprawda. Rewrity dodaje się w configach vhostów. U mnie userzy sami sobie piszą rewrity (i inne pierdoły) a skrypt, o którym wspominałem sprawdza, czy nie ma tam żadnych błędów. Jeśli jakiś jest to wyłącza vhosta i tworzy plik z komunikatem błędu. Całość działa bardzo sprawnie. Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Luty 12, 2010 Nieprawda. Rewrity dodaje się w configach vhostów. Co wcale nie wyklucza tego, że pliki konfiguracji vhostów należą do grupy głównych plików konfiguracyjnych serwera, które nie powinny być raczej dostępne do bezpośredniego zapisu dla ZU U mnie userzy sami sobie piszą rewrity (i inne pierdoły) a skrypt, o którym wspominałem sprawdza, czy nie ma tam żadnych błędów. Jeśli jakiś jest to wyłącza vhosta i tworzy plik z komunikatem błędu. Całość działa bardzo sprawnie. Dajesz użytkownikom możliwość bezpośredniej edycji plików konfiguracyjnych vhostów? Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Luty 12, 2010 Dajesz użytkownikom możliwość bezpośredniej edycji plików konfiguracyjnych vhostów?Jeżeli to jest sensownie zrobione, to czemu nie? Udostępnij ten post Link to postu Udostępnij na innych stronach
art3c 0 Zgłoś post Napisano Luty 14, 2010 o wcale nie wyklucza tego, że pliki konfiguracji vhostów należą do grupy głównych plików konfiguracyjnych serwera, które nie powinny być raczej dostępne do bezpośredniego zapisu dla ZU Wyklucza. Bo w głównych plikach konfiguracyjnych konfiguruję się co innego a w vhostach co innego. Wyprzedzę tęż wątpliwości: user nie może nadpisać głównego configu dyrektywami w pliku konfiguracyjnym vhosta. Dajesz użytkownikom możliwość bezpośredniej edycji plików konfiguracyjnych vhostów? A co w tym dziwnego? Vhosty są dla userów a nie dla mnie. Jak coś szkodnik sobie zepsuje to vhost automatycznie jest wyłączany i pojawia się plik z komunikatem błędu. Także user nie jest wstanie unieruchomić serwera itp. Udostępnij ten post Link to postu Udostępnij na innych stronach
hosthebest 0 Zgłoś post Napisano Luty 14, 2010 Zainstalowałem nginx z php-fpm tyle że jak zrobić żeby tworzył proces wtedy kiedy wykonuje skrypt daną czynność. Udostępnij ten post Link to postu Udostępnij na innych stronach