파이썬에는 WSGI(Web Server Gateway Interface)규격이 정의되어 있다. 파이썬 애플리케이션은 이 규격을 준수해야한다.

WSGI는 웹 서버와 웹 애플리케이션을 연결해주는 규격으로, 장고와 같은 파이썬 웹 프레임워크를 개발하거나, 이런 웹 프레임워크를 아파치와 같은 웹 서버와 연동할 때 사용한다. 파이썬 표준 라이브러리에는 과거 CGI 규격을 위한 cgi 모듈과 개선된 WSGI 규격을 구현하기 위한 WSGI 규격을 구현하기 위한 wsgiref 모듈이 같이 존재한다.

 

- WSGI 개요

CGI의 단점인 요청이 들어올 때마다 처리를 위한 프로세스가 생성되는 방식을 해결하고, 파이썬 언어로 애플리케이션을 좀 더 쉽게 작성할 수 있도록 웹 서버와 웹 애플리케이션 간에 연동 규격을 정의한 것이 WSGI 규격이다.

 

그렇기 때문에 파이썬에서는 WSGI 규격를 준수한다면 어떤 웹 서버에서도 파이썬 애플리케이션을 실행할 수 있다. 예를 들면 장고로 웹 애플리케이션을 작성하면 Apache, Nginx 웹 서버에서도 실행할 수 있다. 이때 유의해야 될 점은 Apache나 Nginx는 일반 범용 웹 서버로, WSGI 처리 기능이 없다는 것이다. 그렇기 때문에 이런 웹 서버와 파이썬 웹 애플리케이션 중간에서 WSGI 통신 규격을 처리해주는 것이 mod_wsgi, uWSGI, Gunicorn과 같은 WSGI서버이다.

 

 

출처: 한빛미디어, Django로 배우는 쉽고 빠른 웹 개발 파이썬 웹 프로그래밍

 

+ Recent posts