Nginx를 사용한 WSGI 대 uWSGi
Nginx와 함께 WSGI VS uWSGI 를 사용할 때 누구든지 장단점을 설명해 주 시겠습니까 ?
현재 준비한 Django 웹 사이트의 프로덕션 서버를 구축 중이지만 WSGI 또는 uWSGI를 사용할지 결정할 수 없습니다. 각 구성의 차이점을 자세히 설명해 주시겠습니까? 어떤 구성이 가장 잘 확장되어야합니까?
미리 감사드립니다
좋아,이 혼란은 여러 소스의 세부 사항이 부족하고 이러한 프로토콜의 이름이 지정되었으며 실제로 WSGI가 무엇인지 때문입니다.
요약:
- WSGI와 uwsgi 는 모두 서버가 아닌 ARE 프로토콜입니다. 로드 밸런싱을 위해 웹 서버와 통신하고 특히 순수 HTTP가 제공 할 수없는 추가 기능을 활용하는 데 사용됩니다. 지금까지 Nginx와 Cherokee는이 프로토콜을 구현했습니다.
- uWSGI는 서버이고 구현하는 프로토콜 중 하나는 WSGI입니다 (uwsgi 프로토콜을 uWSGI 서버와 혼동하지 마십시오). WSGI는 Python 사양 입니다. WSGI 사양의 구현은 여러 가지가 있으며 응용 프로그램 서버 / 웹 서버 이상의 용도로 사용하기위한 것이지만 WSGI 응용 프로그램 서버가 상당히 적습니다 (즉, 생산 준비가 된 WSGI 호환 웹 서버도있는 CherryPy) , 이미 충분히 혼동하지 않았다면!).
- uwsgi를 WSGI와 비교하는 것은 오렌지와 사과를 비교하는 것입니다.
일반적으로 기본 웹 서버와 별도의 프로세스에서 Python을 실행하는 것이 가장 좋습니다. 이렇게하면 웹 서버에는 정적 콘텐츠를 매우 빠르게 제공하는 많은 작은 스레드가있을 수 있으며, 개별 Python 프로세스는 크고 무겁고 각각 자체 Python 인터프리터를 실행합니다. WSGI
큰 Python 인터프리터로 nginx 스레드를 모두 부풀리기 때문에 평범한 것은 나쁩니다. flup
or gunicorn
or uWSGI
behind를 사용하는 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
'Program Tip' 카테고리의 다른 글
equals 메소드와 관련된 Java 코드 (0) | 2020.10.21 |
---|---|
R에 "붙여 넣기"로 변수 이름을 만드시겠습니까? (0) | 2020.10.21 |
Rails .where 대 .find (0) | 2020.10.21 |
java.sql.Timestamp 시간대는 특정입니까? (0) | 2020.10.21 |
for 루프를 사용하고 값을 전달하는 addEventListener (0) | 2020.10.21 |