Django

Gunicorn이란?

jjineei 2023. 2. 9. 14:33

웹서버에서 Django Application 호출하기 위해선, WSGI 서버가 필요하고, (python manage.py runserver할수는 없자나..)

Gunicorn은 WSGI 서버의 한 종류이다.

(또 다른 WSGI 서버로 uwsgi도 있는데, Gunicorn성능이 매우 좋아져서 대부분 이걸 사용!)


 

* Web Server와 WAS 프레임워크

- Web Server는 정적인 HTML 페이지를 반환 (Apache, Nginx)..

- Web Server가 동적으로 데이터를 반환하도록 하기 위해서는 WAS프레임워크가 필요. (flask, django, rails, node.js)

- WAS: Web Server위에서 동작하는 서버 운영프로그램

 

*WSGI (위스키)가 뭐야?

- WSGI (Web Server Gateway Interface) 는 Web Server와 Web Application과 대화할 수 있는 인터페이스

   즉, python script가 Web Server와 통신할 수 있도록 하는 것.

- 주요 기능 
   1) 웹서버의 환경정보와 콜백함수를 파이썬 스크립트에 전달해주는 기능

   2) 앱에서 요청을 처리한 결과를 콜백함수를 통해 웹 서버에 전달해주는 기능

 

*Gunicorn

Python WSGI HTTP server의 한 종류. (WSGI 동작을 지원하는 Middleware)

구현이 심플하고 서버 리소스가 적으며, 빠른 속도로 동작

Http Proxy server로 Nginx를 쓰기를 권장함.