Program Tip

Nginx를 사용한 WSGI 대 uWSGi

programtip 2020. 10. 21. 21:21
반응형

Nginx를 사용한 WSGI 대 uWSGi


Nginx와 함께 WSGI VS uWSGI사용할 때 누구든지 장단점을 설명해 주 시겠습니까 ?

현재 준비한 Django 웹 사이트의 프로덕션 서버를 구축 중이지만 WSGI 또는 uWSGI를 사용할지 결정할 수 없습니다. 각 구성의 차이점을 자세히 설명해 주시겠습니까? 어떤 구성이 가장 잘 확장되어야합니까?

미리 감사드립니다


좋아,이 혼란은 여러 소스의 세부 사항이 부족하고 이러한 프로토콜의 이름이 지정되었으며 실제로 WSGI가 무엇인지 때문입니다.

요약:

  1. WSGI와 uwsgi 는 모두 서버가 아닌 ARE 프로토콜입니다. 로드 밸런싱을 위해 웹 서버와 통신하고 특히 순수 HTTP가 제공 할 수없는 추가 기능을 활용하는 데 사용됩니다. 지금까지 Nginx와 Cherokee는이 프로토콜을 구현했습니다.
  2. uWSGI는 서버이고 구현하는 프로토콜 중 하나는 WSGI입니다 (uwsgi 프로토콜을 uWSGI 서버와 혼동하지 마십시오). WSGI는 Python 사양 입니다. WSGI 사양의 구현은 여러 가지가 있으며 응용 프로그램 서버 / 웹 서버 이상의 용도로 사용하기위한 것이지만 WSGI 응용 프로그램 서버가 상당히 적습니다 (즉, 생산 준비가 된 WSGI 호환 웹 서버도있는 CherryPy) , 이미 충분히 혼동하지 않았다면!).
  3. uwsgi를 WSGI와 비교하는 것은 오렌지와 사과를 비교하는 것입니다.

일반적으로 기본 웹 서버와 별도의 프로세스에서 Python을 실행하는 것이 가장 좋습니다. 이렇게하면 웹 서버에는 정적 콘텐츠를 매우 빠르게 제공하는 많은 작은 스레드가있을 수 있으며, 개별 Python 프로세스는 크고 무겁고 각각 자체 Python 인터프리터를 실행합니다. WSGI큰 Python 인터프리터로 nginx 스레드를 모두 부풀리기 때문에 평범한 것은 나쁩니다. flupor gunicornor uWSGIbehind를 사용하는 nginx것이 훨씬 낫습니다. 왜냐하면 nginx가 단순히 콘텐츠를 제공 할 수 있도록 해주고 동적 콘텐츠를 제공하기 위해 가져온 무거운 Python 스레드의 수에 관계없이 실행할 작은 가벼운 nginx 스레드 수를 선택할 수 있기 때문입니다. 사람들은 현재 매우 만족해 보이지만 gunicorn이 세 가지 옵션 중 어느 것이 든 잘 작동 할 것입니다.

앞으로는로드가 심각해지기 시작할 때 Python을 다른 서버로 옮길 수 있습니다.


여기 http://flask.pocoo.org/docs/deploying/uwsgi/ 가 혼란을 해소하는 좋은 대답 이라고 생각합니다 . 이 질문은 어리석은 일이 아닙니다. 두 용어를보고 mod_PHP 외부에서 작동하는 방식에 대한 사전 정보가없는 모든 사람에게 발생합니다 (예 : PHP 또는 사람들에 대한 내용 없음).

이 사이트는 nginx에 대한 좋은 배포 예제뿐만 아니라 무엇이 필요하고 차이점이 무엇인지 실용적인 용어로 설명하는 데 효과적입니다.

참고 URL : https://stackoverflow.com/questions/7739810/wsgi-vs-uwsgi-with-nginx

반응형