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.