[Gunicorn]Gunicorn 란? 쓰는 이유는?

2021. 7. 10. 19:05·SW개발/IT 용어

Django 개발을 진행하고 배포를 결정하는 순간부터는 gunicorn이나 uWSGI라는 기술들을 항상 접하게 된다.

gunicorn은 WSGI기술의 일종으로서 무슨 역할을 하고 왜 쓰는지에 대해서 알아보자.

 

WSGI 란?

파이썬 애플리케이션이(파이썬 스크립트) 웹 서버와 통신하기 위한 인터페이스이다. 웹서버에서의 요청을 해석하여 파이썬 애플리케이션 쪽으로 던지는 역할을 수행한다.

 

Gunicorn 란? 쓰는 이유는?

Gunicorn은 Python WSGI로 WEB Server(Nginx)로부터 서버사이드 요청을 받으면 WSGI를 통해 서버 애플리케이션(Django)로 전달해주는 역할을 수행한다. Django의 runserver 역시도 똑같은 역할을 수행하지만 보안적으로나 성능적으로 검증이 되지 않았기 때문에 production 환경에서는 사용할 수 없다.(개발용으로는 유용하다)

 

produciton 환경에 적합한 Gunicorn

WSGI는 멀티 쓰레드를 만들 수 있기 때문에 Requset 요청이 많아지더라도 효율적으로 처리할 수 있다. 즉, production 환경에 적합하다.

Django와 Webserver 사이 전달자의 역할을 하는 Gunicorn

 

종합적으로 정리하자면, 웹서버와 Django 사이에서 Request를 처리해주는 역할을 한다. 이 과정에서 WSGI를 사용하게 되는데 파이썬에서 대표적인 WSGI는 uWSGI, gunicorn이 존재한다. 두개중 gunicorn의 퍼포먼스가 조금 더 좋고 가볍다는 의견이 다수이기 때문에 필자 역시 gunicorn을 사용하고 있다.

 

728x90

'SW개발 > IT 용어' 카테고리의 다른 글

[SoC]관심사 분리란?  (0) 2021.12.21
[테스트]단위 테스트(Unit test)란?  (0) 2021.07.21
[Webhook]웹훅이란?  (5) 2021.05.27
[Kubernetes]쿠버네티스란?  (0) 2021.05.13
[Docker]Docker(도커)란? (feat. Linux 컨테이너)  (0) 2021.05.12
'SW개발/IT 용어' 카테고리의 다른 글
  • [SoC]관심사 분리란?
  • [테스트]단위 테스트(Unit test)란?
  • [Webhook]웹훅이란?
  • [Kubernetes]쿠버네티스란?
Leffe_pt
Leffe_pt
개발자로서 성장하면서 배워온 지식과 경험을 공유하는 공간입니다.
  • Leffe_pt
    Leffe's tistory
    Leffe_pt
  • 전체
    오늘
    어제
    • 분류 전체보기 (309)
      • SW개발 (305)
        • 코딩테스트 (172)
        • 개발이야기 (23)
        • IT 용어 (17)
        • Python (22)
        • Django (46)
        • Flask (2)
        • Database (3)
        • SQLAlchemy (0)
        • Javascript (5)
        • Linux, Unix (3)
        • JAVA (2)
        • Spring (10)
      • 회고 (4)
      • 사진 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    django
    라이프 스타일
    배달비 공유
    음식
    g
    Contributor
    컨트리뷰터
    어플리케이션
    오픈소스
    플레이스토어
    트리 #AVL #알고리즘 #자료구조
    배공파용
    배달
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Leffe_pt
[Gunicorn]Gunicorn 란? 쓰는 이유는?
상단으로

티스토리툴바