본문 바로가기
Web Programming/django

Gunicorn

by 테리는당근을좋아해 2022. 7. 5.

Gunicorn

- gunicorn은 WSGI기술의 일종

 

 

WSGI(Web Server Gateway Interface)

- 파이썬 어플리케이션과 웹 서버와 통신하기 위한 규약 또는 인터페이스

- WSGI 서버와 파이썬 어플리케이션이 WSGI의 규칙에 따라 작성되면, 어플리케이션은 내부 구현에 상관없이 WSGI 서버를 선택 가능

- 파이썬에서 대표적으로 사용되는 WSGI로는 uWSGI, gunicorn이 있으며, gunicorn의 퍼포먼스가 비교적 가볍다고 함.

 

 

Gunicorn을 사용하는 이유

- Gunicorn은 Python WSGI로 웹 서버(Nginx)로부터 서버사이드 요청을 받으면 WSGI를 통해 서버 어플리케이션으로 전달해주는 역할

- Django의 "runserver" 또한 같은 역할을 수행하지만 보안, 성능적으로 production 환경에서는 적절하지 않음

- WSGI는 멀티 쓰레드를 만들 수 있기 때문에 Request가 많아지더라도 효율적으로 처리 가능

 

 

gunicorn 사용하기

pip3 install gunicorn

- gunicorn 설치

 

# [project명].wsgi:application -> [project명]/wsgi.py 파일의 applaction
# -- bind 0:8000 -> 8000번 port로 wsgi 서버 실행

gunicorn [프로젝트명].wsgi:application -- bind 0:8000
gunicorn studioapi.wsgi:application -- bind 0:8000

- gunicorn 실행

 

 

 

 

댓글