draker 0 Zgłoś post Napisano Czerwiec 17, 2012 Witam, Potrzebuję mieć uruchomione dwa webserwery na jednym serwerze o jednym adresie IP. Obecnie posiadam Litespeeda jako główny webserver, ale często mam problem z wyczerpującym się limitem req/sec, dlatego potrzebuję uruchomić Lighttpd dla jednej strony, która wykonuje najwięcej zapytań. Szczerze mówiąc, nie wiem, jak mam się za to zabrać. Zainstalowałem lighttpd, ustawiłem jego port na inny (81), dodałem vhosta, zresetowałem i koniec. W bindzie raczej nie ustawię przekierowania tej domeny na port :81, a nie ma sensu, by użytkownicy widzieli w adresie domena.pl:81. Wydaje mi się, że w takiej sytuacji konieczne jest ustawienie jakiegoś przekierowania w Litespeedzie, tyle, że nie wiem, jak to można zrobić. Opcjonalnie może jest jakaś inna metoda, by móc przekierowywać użytkowników z domena.pl na domena.pl:81, tyle, żeby ten port nie był widoczny? Udostępnij ten post Link to postu Udostępnij na innych stronach
elcct 159 Zgłoś post Napisano Czerwiec 17, 2012 Z ciekawości, czemu nie nginx? lighttpd przy dużym obciążeniu potrafi po prostu nie działać, dlatego nie polecam. Co do samego pytania to źle trochę kombinujesz. Mógłbyś ustawić reverse proxy na dany port przy pomocy np. nginxa, ale to nie ma sensu, bo mógłbyś po prostu użyć tego serwera zamiast litespeed i lighttpd. Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Czerwiec 17, 2012 W Litespeedzie możesz utworzyć kontekst / jako Reverse-Proxy. Tylko po kiego grzyba, skoro owe żądania i tak będą się wliczały do limitowanych pod względem licencji requestów? Rozwiązania są dwa: > dokup dodatkowy adres IP i zbinduj do niego lighttpd > zamień kolejność - na froncie lighttpd robiący za proxy do litespeeda Udostępnij ten post Link to postu Udostępnij na innych stronach
draker 0 Zgłoś post Napisano Czerwiec 17, 2012 Szczerze mówiąc, z nginxa jeszcze nigdy nie korzystałem, a Litespeed poza tym limitem requestów w darmowej wersji jest webserwerem idealnym: przy ponad trzech milionach requestów dziennie strony na Joomli i własnym CMS'ie zużywa 200MB RAMu, a load nie przekracza 0,5 na dosyć leciwym serwerze, podczas gdy Apache zdychał gdy miałem 500 000 requestów dziennie. Raczej zamienię Lighttpd na nginx'a, bo mam ogromny .htaccess i konwersja tego będzie katorgą... Zrobię tak jak radzicie - nginx jako główny webserwer, robiący proxy dla litespeeda. Jak będę miał jakiś problem z konfiguracją, to napiszę. Dzięki za pomoc! Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Czerwiec 17, 2012 (edytowany) Możesz pokusić się o taką konfigurację, aby statyczne bloki (jakieś obrazki) nginx cache'ował. Wtedy jeszcze mocniej odciążysz Litespeeda Ewentualnie jeszcze jedna opcja, ale ona wymaga tyci więcej zabawy. Zainstaluj drugą/trzecią/entą instancję lsws, a nginxa użyj jako load-balancer między nimi Edytowano Czerwiec 17, 2012 przez kafi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
elcct 159 Zgłoś post Napisano Czerwiec 17, 2012 Szczerze mówiąc, z nginxa jeszcze nigdy nie korzystałem, a Litespeed poza tym limitem requestów w darmowej wersji jest webserwerem idealnym: przy ponad trzech milionach requestów dziennie strony na Joomli i własnym CMS'ie zużywa 200MB RAMu, a load nie przekracza 0,5 na dosyć leciwym serwerze, Nginx robi mi kilkaset milionów req dziennie bez problemu na i7. Polecam go Udostępnij ten post Link to postu Udostępnij na innych stronach
LANcaster (kotkowicz.pl) 52 Zgłoś post Napisano Czerwiec 18, 2012 Zrobię tak jak radzicie - nginx jako główny webserwer, robiący proxy dla litespeeda. Jak będę miał jakiś problem z konfiguracją, to napiszę. Dzięki za pomoc! A może po prostu Varnish przed Litespeedem? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Czerwiec 18, 2012 A może po prostu Varnish przed Litespeedem? Albo squid, przy sprawnej konfiguracji zniknie spora ilość requestów do serwera webowego. A gdy się bawić z 2 serwerami to haproxy i statykę puścić z backendu uruchomionego na nginx, a dynamiczne php z litespeed'a. Udostępnij ten post Link to postu Udostępnij na innych stronach
elcct 159 Zgłoś post Napisano Czerwiec 18, 2012 A może po prostu Varnish przed Litespeedem? Varnish ma większy sens, jeśli system i tak cachuje w pamięci odczytywane pliki? Udostępnij ten post Link to postu Udostępnij na innych stronach
kamilel 22 Zgłoś post Napisano Czerwiec 18, 2012 Napisz swoje wyniki tutaj. Jestem ciekawy czy litespeed odczyta poprawnie prawdziwe ip odwiedzającego przekazane przez nginx. Udostępnij ten post Link to postu Udostępnij na innych stronach
draker 0 Zgłoś post Napisano Czerwiec 20, 2012 Narazie nie miałem czasu na to wszystko i tylko Litespeed to kontroluje, w weekend zajmę się tym na poważnie. Przy okazji: ma ktoś może doświadczenie z webserwerem Cherokee? Zaisntalowałem to u siebie, konfiguracja jest prostsza niż Litespeeda, vhosty dodaje się błyskawicznie przez opcję Clone, jedynie .htaccess to prawdziwy wrzód na dupie, bo trzeba każdą regułę wpisywać na nowo w panelu, co trochę mi zajmie, gdy mój htaccess ma 500 linijek. Jaka jest wydajność tego webserwera? Udostępnij ten post Link to postu Udostępnij na innych stronach
tym 205 Zgłoś post Napisano Czerwiec 20, 2012 Moim zdaniem cherokee zostało zapomniane... teraz bardziej nginx. Udostępnij ten post Link to postu Udostępnij na innych stronach
devilMedia.pl 26 Zgłoś post Napisano Czerwiec 21, 2012 Napisz swoje wyniki tutaj. Jestem ciekawy czy litespeed odczyta poprawnie prawdziwe ip odwiedzającego przekazane przez nginx. Z tym nie ma problemu. Wystarczy tylko przekazać IP w proxy i litespeed będzie widział. Udostępnij ten post Link to postu Udostępnij na innych stronach
draker 0 Zgłoś post Napisano Czerwiec 21, 2012 No właśnie chyba developerzy zapomnieli o Cherokee, bo ostatnia wersja pochodzi z października 2011, forum i wiele działów supportu nie działają, twitter i ich facebook też nie, więc przez to nie mogłem przenieść htaccess. Dziś spróbuję coś zrobić z nginxem... Udostępnij ten post Link to postu Udostępnij na innych stronach
draker 0 Zgłoś post Napisano Czerwiec 21, 2012 (edytowany) Nie widzę sensu w zaśmiecaniu forum i tworzenia nowego tematu, więc spytam tutaj. nginx zainstalowany, skonfigurowany dla kilku witryn, ale pozostała jeszcze jedna, która ma przeogromny .htaccess. Konwersja jego ręcznie zajęłaby trochę czasu, więc wrzuciłem to do online convertera. Niestety, coś nie działa. server { listen 80; server_name gta.net.pl; server_name_in_redirect off; access_log /var/log/nginx/localhost.access_log; error_log /var/log/nginx/localhost.error_log; root /home/gtasite/web; index index.php index.html index.htm default.html default.htm; location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { return 403; error_page 403 /403_error.html; } location / { rewrite ^/([^,]+),archiwumshoutbox.html$ /index.php?act=archiwumshoutbox&p=$1 break; rewrite ^/([^,]+),ref.html$ /index.php?act=ref&id=$1 break; rewrite ^/([^,]+),galeria.html$ /index.php?act=galeria&id=$1 break; rewrite ^/([^,]+),([^,]+),galeria.html$ /index.php?act=galeria&id=$1&p=$2 break; rewrite ^/([^,]+),galeria,gta.html$ /index.php?act=galeria&id=$1 break; rewrite ^/([^,]+),([^,]+),galeria,gta.html$ /index.php?act=galeria&id=$1&p=$2 break; rewrite ^/([^,]+),profile.html$ /index.php?act=publicprofile&id=$1 break; rewrite ^/([^,]+),profile,gta.html$ /index.php?act=publicprofile&id=$1 break; rewrite ^/([^,]+),wyniki.html$ /index.php?act=wyniki&id=$1 break; rewrite ^/([^,]+),gbook.html$ /index.php?act=gbook&p=$1 break; rewrite ^/([^,]+),deletepm.html$ /index.php?act=pmlist&do=deletepm&id=$1 break; rewrite ^/([^,]+),pmdisplay.html$ /index.php?act=pmdisplay&id=$1 break; rewrite ^/([^,]+),artykuly.html$ /index.php?act=catartykuly&id=$1 break; rewrite ^/([^,]+),artykuly,gta.html$ /index.php?act=catartykuly&id=$1 break; rewrite ^/([^,]+),([^,]+),artykuly.html$ /index.php?act=catartykuly&id=$1&p=$2 break; rewrite ^/([^,]+),([^,]+),artykuly,gta.html$ /index.php?act=catartykuly&id=$1&p=$2 break; rewrite ^/([^,]+),artykul.html$ /index.php?act=artykul&id=$1 break; rewrite ^/([^,]+),artykul,gta.html$ /index.php?act=artykul&id=$1 break; rewrite ^/([^,]+),news.html$ /index.php?act=news&id=$1 break; rewrite ^/([^,]+),news,gta.html$ /index.php?act=news&id=$1 break; rewrite ^/([^,]+),([^,]+),news.html$ /index.php?act=news&id=$1&p=$2 break; rewrite ^/([^,]+),news,gta.html$ /index.php?act=news&id=$1 break; rewrite ^/([^,]+),([^,]+),news.html$ /index.php?act=news&id=$1&p=$2 break; rewrite ^/([^,]+),([^,]+),news,gta.html$ /index.php?act=news&id=$1&p=$2 break; rewrite ^/([^,]+),downloadcomments.html$ /index.php?act=downloadcomments&id=$1 break; rewrite ^/([^,]+),downloadcomments,gta.html$ /index.php?act=downloadcomments&id=$1 break; rewrite ^/([^,]+),([^,]+),downloadcomments.html$ /index.php?act=downloadcomments&id=$1&p=$2 break; rewrite ^/([^,]+),([^,]+),downloadcomments,gta.html$ /index.php?act=downloadcomments&id=$1&p=$2 break; rewrite ^/([^,]+),artykulcomments.html$ /index.php?act=artykulcomments&id=$1 break; rewrite ^/([^,]+),artykulcomments,gta.html$ /index.php?act=artykulcomments&id=$1 break; rewrite ^/([^,]+),([^,]+),artykulcomments.html$ /index.php?act=artykulcomments&id=$1&p=$2 break; rewrite ^/([^,]+),([^,]+),artykulcomments,gta.html$ /index.php?act=artykulcomments&id=$1&p=$2 break; rewrite ^/([^,]+),newsy.html$ /index.php?p=$1 break; rewrite ^/([^,]+),newsy,gta.html$ /index.php?p=$1 break; rewrite ^/([^,]+),downloadcat.html$ /index.php?act=downloadcat&id=$1 break; rewrite ^/([^,]+),downloadcat,gta.html$ /index.php?act=downloadcat&id=$1 break; rewrite ^/([^,]+),download.html$ /index.php?act=dl&id=$1 break; rewrite ^/([^,]+),download,gta.html$ /index.php?act=dl&id=$1 break; rewrite ^/([^,]+),([^,]+),downloadcat.html$ /index.php?act=downloadcat&id=$1&p=$2&order=time&ord=DESC break; rewrite ^/([^,]+),([^,]+),downloadcat,gta.html$ /index.php?act=downloadcat&id=$1&p=$2&order=time&ord=DESC break; rewrite ^/([^,]+),([^,]+),([^,]+),([^,]+),downloadcat.html$ /index.php?act=downloadcat&id=$1&p=$2&order=$3&ord=$4 break; rewrite ^/([^,]+),([^,]+),([^,]+),([^,]+),downloadcat,gta.html$ /index.php?act=downloadcat&id=$1&p=$2&order=$3&ord=$4 break; } location ~ .*.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } Wchodząc przykładowo w link http://gta.net.pl/12,galeria,gta.html - następuje przekierowanie do index.php, ale pokazuje kod tego pliku. Co jest źle? Edytowano Czerwiec 21, 2012 przez draker (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
draker 0 Zgłoś post Napisano Czerwiec 21, 2012 Problem rozwiązany, wystarczyło usunąć break na końcu. Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Czerwiec 22, 2012 Jak Ci nginx obrabia ten ruch? Na jakim sprzęcie? Udostępnij ten post Link to postu Udostępnij na innych stronach
draker 0 Zgłoś post Napisano Czerwiec 23, 2012 Jak narazie jest OK. Trochę są problemy z htaccessem, bo niektóre funkcje strony coś nie chcą działać (np. http://gta.net.pl/13,galeria.html) i nie mam pojęcia, jak to naprawić, ale kiedyś może się uda. Korzystam z php-fqm, bo php-fcgi nie dawał sobie rady na standardowej konfiguracji (ciągle błędy 502 Bad Gateway). Zużycie CPU i RAM praktycznie takie same jak w Litespeedzie (load średnio 0,2 w godzinach szczytu). Niestety jedyny problem jest taki, że coś zużywa mnóstwo miejsca na HDD - w konfiguracji nginx / php-fpm mam ustawione zapisywanie logów na /home, a nawet w nocy co chwile coś się zapisuje i usuwa na partycji systemowej (http://modbase.pl/munin/localdomain/localhost.localdomain/df.html - te duze wahania zaczęły się od instalacji nginx'a, teraz usunąłem sporo niepotrzebnych śmieci z partycji innej nż /home, ale nadal coś się usuwa i zapisuje, nie wiem co). Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Czerwiec 24, 2012 Też mam ostatnio ten problem i prawdopodobnie będę musiał ustawić php-fpm tak, żeby restartował się co jakiś czas (może nie restart, a reload). Zauważyłem, że często mam duże zużycie dysku w df'ie, a rzeczywiście nie ma takiego zajęcia. Tak jakby php-fpm usuwał pliki, ale dalej trzymał je jako utworzone - jakby nie zamykał do końca. Po reloadzie php-fpm wszystko wraca do normy. Udostępnij ten post Link to postu Udostępnij na innych stronach