Tradycyjnie wdrażam moje witryny pod Apache, po prostu domyślnie. Słyszałem o NGinX i zastanawiam się, w jakich warunkach byłby lepszy. Oprócz apache i Nginx, jakie są inne opcje dla serwerów i jakie są ich zalety?
Bardzo ogólne pytanie. Aby odpowiedzieć na pytanie „warte”, myślę, że musisz podać nieco więcej wyjaśnienia swojego kontekstu.
jessegavin
Odpowiedzi:
6
Tak.
Jeden z serwerów WWW miał duży skok obciążenia co kilka godzin. Po przejrzeniu dzienników dowiedziałem się, kiedy nastąpił skok obciążenia, tam wiele osób patrzy na galerię.
Więc rozładowałem 99% statycznej zawartości z Apache na Nginx. apache został pozostawiony do obsługi całego php. Obciążenie na moich serwerach spadło do ładnie niskiej liczby i bez większych skoków obciążenia.
Jeśli chcesz w pełni wykorzystać swoje serwery, zdecydowanie lekki serwer może obsłużyć całą zawartość statyczną.
Istnieje PILE serwerów sieciowych. Oczekuję, że zależy od zamierzonego użycia. Apache zrobi większość tego, czego ludzie chcą, jest dobrze znany, dobrze zaktualizowany i działa na prawie każdej kombinacji sprzętu i systemu operacyjnego.
Netcraft śledzi udział w rynku serwerów internetowych i według nich IIS zajmuje drugie miejsce po Apache z udziałem 26,03% (stan na lipiec 2010 r.). Jest to oparte na badaniu obejmującym ponad 205 milionów stron
Ten link ma powody, dla których powinieneś sprawdzić IIS7, jeśli dzisiaj używasz Apache
Problem z IIS7 na Linuksie polega na tym, że ... nie działa, działa, działa, nie działa, działa ...
Tim Post
Zgodnie z moim rozumieniem pytania, nic nie mówi, że OP wymaga serwera WWW dla konkretnego systemu operacyjnego ... czy coś pomijam? Zakładałem, że może również wybrać system Windows.
mvark,
0
To naprawdę zależy od tego, co robisz.
Jeśli masz tylko zawartość statyczną, nie potrzebujesz Apache. nginx lub lighttpd dobrze by Ci służyły.
Jeśli masz mieszankę statyczną i dynamiczną (cóż, Perl lub PHP), ale małą stronę, nadal możesz sobie poradzić z jedną z tych alternatywnych opcji plus FastCGI, lub po prostu wrzucić całość do Apache.
Jeśli podajesz Ruby razem ze statyczną treścią, mod_passengerw Apache powinno ci dobrze służyć, a nginx / lighttpd / etc obsługuje twoją statyczną treść.
W przypadku Pythona (moja specjalizacja) możesz używać Apache, mod_pythonjeśli chcesz, ale przygotuj się na powolność. mod_wsgiJest lepiej, ale wciąż masz napowietrznej Apache, co jest w porządku , jeśli masz dużo ciężkiego ruchu dynamicznego. Apache przez większość czasu jest ciężki.
Jeśli nie masz dużego natężenia ruchu, zajrzyj do nowych systemów, takich jak gunicornlub uWSGIserwer All-in-one Cherokee, aby obsłużyć Twój Python. Cherokee obsługuje również pliki statyczne. Resztę nadal będziesz chciał używać nginx / lighttpd do obsługi zawartości statycznej.
Java i inne języki, nie mam pojęcia.
Jednak wielką zaletą korzystania z nginx jest to, że jest on niesamowicie konfigurowalny. Skonfiguruj więc kilka statycznych serwerów z różnymi poddomenami, po jednym dla CSS, obrazów i JS. W ten sposób pomagasz uniknąć limitu 2 plików na domenę na raz. Skonfiguruj kilka serwerów, a następnie skonfiguruj serwer proxy / równoważenie obciążenia nginx przed nimi, aby mieć pewność, że cała zawartość statyczna jest zawsze dostępna.
Zasadniczo, TAK, spójrz na coś więcej niż tylko Apache!
Odpowiedzi:
Tak.
Jeden z serwerów WWW miał duży skok obciążenia co kilka godzin. Po przejrzeniu dzienników dowiedziałem się, kiedy nastąpił skok obciążenia, tam wiele osób patrzy na galerię.
Więc rozładowałem 99% statycznej zawartości z Apache na Nginx. apache został pozostawiony do obsługi całego php. Obciążenie na moich serwerach spadło do ładnie niskiej liczby i bez większych skoków obciążenia.
Jeśli chcesz w pełni wykorzystać swoje serwery, zdecydowanie lekki serwer może obsłużyć całą zawartość statyczną.
źródło
Apache może być nieco ciężki i może przewrócić się pod dużym obciążeniem. Dostępne są lżejsze serwery, w tym nginx, lighttpd i cherokee.
Te lekkie opcje można skonfigurować w celu szybkiego udostępniania plików statycznych i delegowania dynamicznej pracy po stronie serwera do Apache.
źródło
Istnieje PILE serwerów sieciowych. Oczekuję, że zależy od zamierzonego użycia. Apache zrobi większość tego, czego ludzie chcą, jest dobrze znany, dobrze zaktualizowany i działa na prawie każdej kombinacji sprzętu i systemu operacyjnego.
Aby porównać serwery WWW, sprawdź Porównanie oprogramowania serwera WWW .
źródło
Netcraft śledzi udział w rynku serwerów internetowych i według nich IIS zajmuje drugie miejsce po Apache z udziałem 26,03% (stan na lipiec 2010 r.). Jest to oparte na badaniu obejmującym ponad 205 milionów stron
Ten link ma powody, dla których powinieneś sprawdzić IIS7, jeśli dzisiaj używasz Apache
źródło
To naprawdę zależy od tego, co robisz.
Jeśli masz tylko zawartość statyczną, nie potrzebujesz Apache. nginx lub lighttpd dobrze by Ci służyły.
Jeśli masz mieszankę statyczną i dynamiczną (cóż, Perl lub PHP), ale małą stronę, nadal możesz sobie poradzić z jedną z tych alternatywnych opcji plus FastCGI, lub po prostu wrzucić całość do Apache.
Jeśli podajesz Ruby razem ze statyczną treścią,
mod_passenger
w Apache powinno ci dobrze służyć, a nginx / lighttpd / etc obsługuje twoją statyczną treść.W przypadku Pythona (moja specjalizacja) możesz używać Apache,
mod_python
jeśli chcesz, ale przygotuj się na powolność.mod_wsgi
Jest lepiej, ale wciąż masz napowietrznej Apache, co jest w porządku , jeśli masz dużo ciężkiego ruchu dynamicznego. Apache przez większość czasu jest ciężki.Jeśli nie masz dużego natężenia ruchu, zajrzyj do nowych systemów, takich jak
gunicorn
lubuWSGI
serwer All-in-one Cherokee, aby obsłużyć Twój Python. Cherokee obsługuje również pliki statyczne. Resztę nadal będziesz chciał używać nginx / lighttpd do obsługi zawartości statycznej.Java i inne języki, nie mam pojęcia.
Jednak wielką zaletą korzystania z nginx jest to, że jest on niesamowicie konfigurowalny. Skonfiguruj więc kilka statycznych serwerów z różnymi poddomenami, po jednym dla CSS, obrazów i JS. W ten sposób pomagasz uniknąć limitu 2 plików na domenę na raz. Skonfiguruj kilka serwerów, a następnie skonfiguruj serwer proxy / równoważenie obciążenia nginx przed nimi, aby mieć pewność, że cała zawartość statyczna jest zawsze dostępna.
Zasadniczo, TAK, spójrz na coś więcej niż tylko Apache!
źródło