Który z Lighttpd i Nginx jest, w oparciu o twoje doświadczenie, bardziej odpowiedni dla Django? Użyłem obu i prawie nie zauważam żadnej różnicy, po prostu działają dobrze ... Czy są jakieś przypadki użycia, gdy jeden z nich działa znacznie lepiej niż drugi? Odpowiadając, należy wziąć pod uwagę zarówno prostotę konfiguracji, jak i wydajność.
Moją zwykłą konfiguracją jest uruchomienie osobnego procesu Django FCGI (np. In ./manage.py runfcgi daemonize=false port=8098 host=127.0.0.1
) za pomocą daemontools lub init.d
skryptu i lighty / nginx działającego jako odwrotne proxy.
Aha, a jeśli uważasz, że inny serwer HTTP jest znacznie lepszy dla Django niż Lighty i Nginx, nie wahaj się podzielić swoimi przemyśleniami.
Odpowiedzi:
Zarówno Nginx, jak i Lighttpd są lepszym wyborem niż apache, jeśli chodzi o użycie ich jako odwrotnego proxy dla Django, Railsów itp. Oba obsługują proxy FastCGI i HTTP. Oba oferują model oparty na pojedynczym wątku select () (lub lepszym) w celu efektywnego wykorzystania zasobów.
Jednak mój głos należy do Nginx, ma bardzo aktywną bazę użytkowników (obecnie jest to ulubieniec zestawu Ruby on Rails) i jest w fazie rozwoju. Lighttpd można pomylić z tym, że nie żyje od ponad 2 lat, a my wciąż czekamy na wersję beta 1,5.
źródło
mod_wsgi jest zalecanym sposobem na uruchomienie aplikacji Django w produkcji. Mod_wsgi Apache jest znacznie lepszy niż nginx. Nie możesz znaleźć oficjalnego pakietu (w obecnych dystrybucjach Linuksa) dla mod_wsgi nginx i musisz go skompilować samodzielnie. Lubię nginx, ale jeśli chcesz grać bezpiecznie, zagraj z Apache mod_wsgi.
źródło
mod-wsgi to najlepszy sposób na uruchomienie aplikacji django w środowisku produkcyjnym, mniej kłopotliwy niż fastcgi i bez problemów z czasem uruchomienia itp.
Prawdziwy mod-wsgi jest dla apache, ale jest inny mod-wsgi dla nginx. Apache jest genialny, nie mogę komentować nginxa.
Osobiście trzymałbym się z dala od lighttpd. Nie ma stabilności nginx, nie widziałem jeszcze przypadku lighttpd, który nie ma przecieku pamięci.
Zasadniczo moim pierwszym wyborem będzie apache 2.2, moim drugim wyborem będzie nginx.
Nie wierz w szum o czasie reakcji i skalowalności. Prawda jest taka, że to nie ma znaczenia. (Google używa Apache).
źródło
Rozważ też użycie Google App Engine. Możesz hostować tam swój projekt Django za darmo i nie musisz się martwić o utrzymanie infrastruktury serwera.
źródło