[Django] 배포 - WSGI

2020. 5. 5. 18:08프로그래밍/Django

WSGI(Web Server Gateway Interface)

파이썬에서 웹서버와 웹앱이 통신하기 위한 인터페이스로
웹서버와 웹앱이 어떻게 통신할 것인가에 대한 규약으로 파이썬에서 표준으로 사용된다.
WSGI 리퀘스트를 처리하려면 WSGI 서버에서 환경정보와 콜백함수를 앱에 제공해야 한다.
웹앱은 그 요청을 처리하고 콜백함수를 통해 서버에 응답한다.

순서

요청 -> 웹서버 -> WSGI 서버(middleware 라고도 한다) -> WSGI를 지원하는 웹앱(Django, flask 등)

WSGI 서버(middleware)

WSGI 서버는 장고에서 일차적으로 사용하는 Deployment 플랫폼인데, 일반적으로 많이 사용되는 WSGI 서버로는 uWSGI, Gunicorn과 Apache/mod_wsgi 등이 있따.

웹서버와 WSGI를 지원하는 웹앱 사이에서 동작하며, 아래와 같은 일을 한다.

  • 환경변수가 바뀌면 타켓 URL에 따라서 리퀘스트의 경로를 지정해준다.
  • 같은 프로세스에서 여러 앱과 프레임워크가 실행되게 한다.
  • XSLT 스타일시트를 적용하는 것과 같이 전처리를 한다.

References

WSGI, WAS, CGI 이해

'프로그래밍 > Django' 카테고리의 다른 글

[Django] Custom Command (BaseCommand)  (0) 2020.05.08
[Django] 장고 CORS 크로스 도메인 이슈  (1) 2020.01.16