Django에 가장 적합한 것은 무엇입니까? Lighttpd 또는 Nginx? 아니면 다른 것? [닫은]


18

귀하의 경험을 바탕으로 Django에 더 적합한 Lighttpd와 Nginx는 무엇입니까? 나는 둘 다 사용했지만 전혀 차이를 거의 느끼지 못합니다. 그냥 잘 작동합니다 ... 둘 중 하나가 다른 것보다 훨씬 잘 작동하는 유스 케이스가 있습니까? 대답 할 때 구성의 단순성과 효율성을 모두 고려하십시오.

내 일반적인 설정은 ./manage.py runfcgi daemonize=false port=8098 host=127.0.0.1daemontools 또는 init.d스크립트 및 lighty / nginx를 통해 리버스 프록시로 작동 하는 별도의 Django FCGI 프로세스 (예 :와 같은 )를 갖는 것 입니다.

오, 그리고 다른 http 서버가 Django에 대해 Lighty 및 Nginx보다 훨씬 낫다고 생각되면 주저하지 말고 의견을 공유하십시오.


fastcgi 서비스가 종료되면 daemontools supervise가 5 초 이내에 다시 시작하므로 서비스가 백업됩니다. 그러나 여전히 가동 중지 시간이 약간 지연됩니다. 내 배포에서 fastcgi가 약한 압력에서 예기치 않게 깨지기 쉬운 것으로 나타났습니다. 몇 번의 다운 타임과 고객의 어색한 전화 통화 후, Nginx를 프록시를 아파치 mod_wsgi로 되돌 리도록 전환했으며 그 이후로 모든 것이 윙윙 거립니다.

답변:


14

Njangx와 Lighttpd는 Django, Rails 등의 리버스 프록시로 사용하는 경우 아파치보다 더 나은 선택입니다. 둘 다 FastCGI 및 Http 프록시를 지원합니다. 둘 다 효율적인 리소스 사용을 위해 단일 스레드 select () (또는 더 나은) 기반 모델을 제공합니다.

그러나 내 투표는 Nginx에 진행되며 매우 활발한 사용자 기반 (현재 Ruby on Rails 세트의 달인)이 있으며 적극적으로 개발 중입니다. Lighttpd는 2 년 이상 죽은 것으로 오인 될 수 있으며 여전히 베타 1.5를 기다리고 있습니다.


7

Django 응용 프로그램을 프로덕션 환경으로 만드는 방법은 mod_wsgi입니다. 아파치의 mod_wsgi는 nginx보다 훨씬 낫다. nginx의 mod_wsgi에 대한 공식 패키지 (현재 Linux 배포판에서)를 찾을 수 없으며 직접 컴파일해야합니다. 나는 nginx를 좋아하지만 안전한 게임을 원한다면 Apache mod_wsgi로 게임하십시오.


2
Nginx mod_wsgi는 당신이 사용하고 싶은 것이 아닙니다. Nginx는 동적 컨텐츠를 생성하기 위해 정적 컨텐츠를 제공하고 Apache mod_wsgi에 프록시를 리버스하는 것이 가장 좋습니다. 동적 페이지를 생성하고 정적 컨텐츠를 제공하기 위해 비동기 웹 서버를 사용하지 않을 것입니다. 아파치 mod_wsgi 자체도 그다지 의미가 없습니다. 당신은 그 짐승이 정적 인 파일 주위에 뿌려지는 것을 원치 않으며, 무거운 짐을 져야합니다. 자세한 내용은 여기를 참조하십시오 b-list.org/weblog/2008/jun/23/media

5

mod-wsgi는 fastcgi보다 덜 까다 롭고 시작 시간 등의 문제없이 프로덕션에서 django 앱을 실행하는 가장 좋은 방법입니다.

실제 mod-wsgi는 아파치 용이지만 nginx에 대한 또 다른 mod-wsgi가 있습니다. 아파치 하나는 훌륭합니다. 나는 nginx에 대해 언급 할 수 없습니다.

개인적으로, 나는 lighttpd에서 멀리 떨어져있을 것입니다. 그것은 nginx의 안정성을 가지고 있지 않지만, 메모리 누수가없는 lighttpd의 경우를 아직 보지 못했습니다.

기본적으로, 나의 첫 번째 선택은 아파치 2.2이고, 두 번째 선택은 nginx입니다.

응답 시간과 확장성에 대한 과대 광고를 믿지 마십시오. 진실은 중요하지 않습니다. (Google은 Apache를 사용합니다).


Google은 Apache가 아닌 GWS ( en.wikipedia.org/wiki/Google_Web_Server )를 사용 합니다. Yahoo는 Apache를 사용하지만 1.3의 고대 포크입니다.
Dave Cheney

YouTube는 lighttpd를 사용하거나 적어도 사용했기 때문에 그렇게 나쁘지 않다고 생각합니다. highscalability.com/youtube-architecture를 참조하십시오 .
Cristian Ciupitu

예. 그러나 GWS는 비밀 프로젝트이지만 Apache를 기반으로하는 것으로 알려져 있습니다.

YT가 말하지 않은 것은 그들 자신의 가벼운 포크가 있다는 것입니다. Lighty는 잘 알려진 메모리 누수 문제가 있습니다. 나는 그들이 지금까지 그것을 고쳤을 것이라고 생각하지만 담당자는 계속됩니다.
Abhishek Dujari

2

또한 Google App Engine 사용을 고려하십시오. Django 프로젝트를 무료로 호스팅 할 수 있으며 서버 인프라 유지 관리에 대해 걱정할 필요가 없습니다.


8
GAE의 Django는 Django의 datbase / ORM 기능을 지원하지 않는 등 상당한 제한이 있습니다. 그것이 당신이 필요로하는 것을 지원한다면 훌륭합니다.

MySQL이 GAE에서 지원되므로 ORM도 마찬가지라고 생각합니다. 사실이지만 나는 그것을 시도한 경험이 없습니다. ORM이없는 장고는 급류가없는 포르노와 같습니다.
Abhishek Dujari
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.