반응형

Ningx는 request가 가장 먼저 도착하는 곳이다.  Web application으로 보내져야만 하는 request들만을 보낸다.(필터링같은 느낌)



Gunicorn은 request를 웹 프레임워크가 이해하고 처리할 수 있는 형식으로 변환시켜 보낸다.





Nginx

Nginx는 Web server이자 Reverse Proxy이다. 아래는 Nginx가 잘하는 기능들 예시이다:

    - domain name routing

    - 정적 파일 보내기

    - 한번에 들어오는 많은 양의 request를 처리하기

    - 느린 client들 처리하기

    - 동적처리가 필요한 request들을 Gunicorn으로 보내기

    - SSL 끝내기

Nginx는 다음과 같은 일들은 할 수 없다:

    - Python web application 실행하기

    - request를 WSGI로 변역하기



Gunicorn

Gunicorn은 다음과 같은 일들에 특화되어 있다:

    - worker processes/threads 풀을 사용하여 코드 실행

    - Nginx가 보낸 request를 WSGI에 맞게 변환

    - 어플리케이션에서 보낸 WSGI response를 http response로 변환

    - request가 들어오면 실제로 파이썬 코드 실행하기

    - Gunicorn은 다양한 웹서버와 통신할 수 있음

다음과 같은 일은 할 수 없다:

    - 최전방에 나설 수 없다: DOS에 취약하다

    - SSL을 끝낼 수 없다(no https handling)




반응형
블로그 이미지

개발자_무형

,