Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porównanie Apache i IIS
Forum PHP.pl > Forum > Serwery WWW
konrad.b
Witam wszystkich,

Od jakiegoś czasu szukam dobrego artykułu porównującego serwery Apache i IIS pod kątem PHP. Niestety nie udało mi się znaleźć niczego w tym stylu.
Pytam więc Was jakie są Wasze doświadczenia, co uważacie za najlepsze dla PHP i dlaczego. Jeśli macie ciekawe źródła do poczytania, to również będę wdzięczny.

Nigdy nie używałem IIS, więc moje kolejne pytanie to czy można napisać stronę w PHP tak, aby działała poprawnie na obu serwerach?

Z góry dzięki za odpowiedzi i mam nadzieję, że wywiąże się ciekawa dyskusja.
erix
Jeśli chodzi o serwer działający pod Windows, to absolutnie daruj sobie Apache. Niestety, nie jest on taki stabilny, jak wersja działająca pod Uniksami - często można się zetknąć z problemem pustych stron, zawieszającego się demona (nie reaguje na żadne żądania). Generalnie zasada jest taka - wybór demona http opieramy o platformę systemową - Unix: Apache/nginx/etc, Windows - najlepiej IIS, gdyż został zoptymalizowany do pracy pod okienkami.

Cytat
więc moje kolejne pytanie to czy można napisać stronę w PHP tak, aby działała poprawnie na obu serwerach?

Akurat użyty demon nie ma tu za wiele do gadania - wszystko zależy od tego, jakich rozszerzeń do PHP używasz - niektóre są niedostępne pod Windows, a niektóre pod Uniksami - które konkretnie, to masz odpowiednio zaznaczone w dokumentacji.

Generalnie - nie powinno być zbyt dużych rozbieżności, jeśli chodzi o interplatformowość skryptów. No chyba że chodzi o kwestie systemu plików, wtedy zaczynają się różnice.
michalkjp
Cytat(erix @ 21.02.2010, 13:31:51 ) *
- Unix: Apache


Apache to fajny serwer dla dewelopera - można go łatwo skonfigurować i prawie zawsze działa.

Jeśli jednak chcesz postawić na sieci jakiś serwis i nie chcesz marnować zasobów, to rozwiązaniem jest tylko jeden z nowocześniejszych serwerów - nginx, lighttpd czy cherokee.

Używanie Apache w produkcji to _marnowanie_ zasobów.
erix
Zależy. Dość ważną kartą przetargową trzymającą Apache na wielu serwerach, to obsługa htaccess, której inne serwery OpenSource nie posiadają. Ze znanych mi tylko LiteSpeed Web Server, ale jest to serwer komercyjny.

Gdyby nie to, to większość dałaby sobie spokój z Apache. winksmiley.jpg Nginx daje radę i to całkiem sprawnie. YAWS też, choć implementacja FastCGI dopiero raczkuje i wciąż badam temat.
konrad.b
erix, co masz na myśli pisząc o rozszerzeniach do php?

Staram się porównać oba serwery, gdyż nie wiem czy warto spędzać czas na pisaniu strony www pod oba, czy lepiej będzie wybrać jeden. Macie jakieś doświadczenia w pisaniu serwisu w php na kilka serwerów? Osobiście nigdy nie miałem żadnych nadmiernie nieznośnych problemów z Apache. IIS to z kolei Microsoft, więc podchodzę do tematu z dystansem...

Zakładając, że zadaniem jest stworzenie dość rozbudowanego serwisu odwiedzanego regularnie przez liczbę do 50-100 użytkowników jednocześnie, do tego upload plików rożnego typu, co byście wybrali?
michalkjp
Cytat(erix @ 21.02.2010, 15:06:17 ) *
to obsługa <i>htaccess</i>, której inne serwery OpenSource nie posiadają



Nie posiadają obsługi .htaccess, bo jest to rozwiązanie dla Apache.

Ten argument można porównać do takiego - Linux nie posiada obsługi rejestru Windows - rozumiesz o co chodzi smile.gif
kilas88
Cytat(michalkjp @ 21.02.2010, 15:37:07 ) *
Nie posiadają obsługi .htaccess, bo jest to rozwiązanie dla Apache.

Ten argument można porównać do takiego - Linux nie posiada obsługi rejestru Windows - rozumiesz o co chodzi smile.gif

A posiadają możliwość tworzenia "przyjaznych" adresów URL?
michalkjp
Cytat(kilas88 @ 21.02.2010, 16:17:33 ) *
<br />A posiadają możliwość tworzenia &quot;przyjaznych&quot; adresów URL?<br />


Tak

http://www.cherokee-project.com/doc/module...lers_redir.html
http://redmine.lighttpd.net/projects/light...Docs:ModRewrite
http://nginx.org/en/docs/http/converting_rewrite_rules.html

(znalezienie tych informacji na google byłoby szybsze niż czekanie na moją odpowiedź winksmiley.jpg)
kilas88
Wcześniej czy później będzie trzeba zainteresować się innymi serwerami, dzięki za info michalkjp smile.gif
erix
Cytat
Nie posiadają obsługi .htaccess, bo jest to rozwiązanie dla Apache.

Właśnie nie można tego porównać Linux vs. Windows. Oba systemy przecież posiadają możliwość łatwej modyfikacji ustawień użytkownika. A jeśli chodzi o httpd, to bez uprawnień do edycji plików opisujących vhosty już tego nie zrobisz.
konrad.b
Cytat(konrad.b @ 21.02.2010, 15:16:48 ) *
erix, co masz na myśli pisząc o rozszerzeniach do php?

Staram się porównać oba serwery, gdyż nie wiem czy warto spędzać czas na pisaniu strony www pod oba, czy lepiej będzie wybrać jeden. Macie jakieś doświadczenia w pisaniu serwisu w php na kilka serwerów? Osobiście nigdy nie miałem żadnych nadmiernie nieznośnych problemów z Apache. IIS to z kolei Microsoft, więc podchodzę do tematu z dystansem...

Zakładając, że zadaniem jest stworzenie dość rozbudowanego serwisu odwiedzanego regularnie przez liczbę do 50-100 użytkowników jednocześnie, do tego upload plików rożnego typu, co byście wybrali?


bede wdzieczny jak odniesiecie sie tez do tego posta:)
erix
No to przecież zależy - jaką platformą dysponujesz.

Windows + Apache odpada już na starcie, potem Windows + IIS. Pod Windows nic lepszego niż IIS po prostu nie ma.

Osobiście preferuję tandem FreeBSD + nginx. Niezawodny w każdych warunkach. ;] Jakiś czas temu pisałem, jak takiego potwora postawić: http://eriz.pcinside.pl/weblog/niezawodny-...astcgi-220.html
michalkjp
Cytat(erix @ 21.02.2010, 19:55:14 ) *
<br />Właśnie nie można tego porównać Linux vs. Windows. Oba systemy przecież posiadają możliwość łatwej modyfikacji ustawień użytkownika. A jeśli chodzi o httpd, to bez uprawnień do edycji plików opisujących vhosty już tego nie zrobisz.<br />
<br /><br /><br />

Nie wiem czy Cię dobrze zrozumiałem, ale jeśli Ci chodzi o to, że htaccess ułatwia modyfikację konfiguracji serwera bez dostępu do głównych plików konfiguracyjnych, to oczywiście masz rację. Jednak to ma znaczenie tylko w przypadku hostingu, gdzie nie możesz skonfigurować serwera.
erix
No właśnie o to chodzi. winksmiley.jpg

I w 90% przypadków właśnie to jest powodem wyboru Apache na serwerach. Gdyby konkurencyjne serwery udostępniały podobne API, sytuacja byłaby zupełnie inna. Moduły już nie są aż tak istotne - praktycznie wszystkie liczące się interpretery udostępniają interfejs FastCGI.
konrad.b
Zastanawiam się nad programem na oba serwery, bo nie wiem kto na czym będzie chciał to postawić. I dlatego się zastanawiam, czy rzeczywiście warto pisać na oba, czy nie lepiej po prostu wymienić konkretnego serwera jako jedno z wymagań. Ale skoro IIS nie ma czegoś tak miłego jak htaccess, to problemem jest odpowiednia konfiguracja przez osobę, która będzie chciała sobie mój system zainstalować. To mnie skłania do Apache. Czy ma to sens?smile.gif
Moje rozważania mogą się wydawać bez sensu, bo nie miałem styczności z niczym innym jak Apache, dlatego właśnie piszę na forum, gdzie osoby doświadczone mogą mi poradzić.
michalkjp
Cytat(konrad.b @ 22.02.2010, 13:54:28 ) *
Czy ma to sens?


Chyba nie, bo to na prawdę nie powinno mieć znaczenia na jakim serwerze działa projekt. IOW - projekt php powinien działać na każdym serwerze skonfigurowanym do obsługi php.
konrad.b
A co z przyjaznymi adresami URL?
michalkjp
Cytat(konrad.b @ 22.02.2010, 19:36:42 ) *
<br />A co z przyjaznymi adresami URL?<br />
<br /><br /><br />

Chyba każdy serwer, którego deweloperzy chcą uważać za nowoczesny, obsługuje przepisywanie urli.
konrad.b
ale dla Apache robimy to przez htaccess, tak? co wtedy z IIS?
erix
O ile pamiętam, to w konsoli zarządzania serwerem (wymagane uprawnienia administratora).
konrad.b
Czyli nie ma możliwości wykonania projektu na oba serwery, który uwzględniałby przyjazne adresy URL. Dobrze rozumiem?
erix
Bazując na uniwersalnym rozwiązaniu - nie. Najlepiej skorzystać z htaccess, bo są przynajmniej dwa demony korzystające z tego formatu i są one najpopularniejsze na hostingach. Praktycznie wszystkie pozwalają używać mod_rewrite w ten sposób. winksmiley.jpg

Serwery na Windows nie są jeszcze popularne w Polsce (mam na myśli hosting dla mas), więc można je sobie odpuścić.
konrad.b
Właśnie, hosting to miał być kolejny aspekt, o którym miałem wspomnieć, ale dobrze skomentowałeś problem. Dzięki!

Podsumowując: Można stwierdzić, że projekt w PHP będzie działał na każdej platformie w ten sam sposób? Pomijając tutaj oczywiście takie gadżety, jak na przykład właśnie htaccess (co już jest raczej zabawą z serwerem, a nie PHP)?
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.