Python (with. Code)/WebServer & Deployment 4

[배포] Python WSGI 배포 서버 종류 (Gunicorn, uWSGI)

관련 정리 글 https://yubi5050.tistory.com/153 // [웹서버] WebServer와 WAS 차이 https://yubi5050.tistory.com/114 // [웹서버] CGI vs ASGI vs WSGI 비교 https://yubi5050.tistory.com/109 // [Django, AWS] EC2 에서 Nginx + Gunicorn + Django 배포하기 이전 글 요약 WebServer는 WAS의 부하를 줄이며, WAS(Gunicorn, Uvicorn, uWSGI)과 같은 서버를 통해 Web Application 배포 ASGI, WSGI 등은 CGI (Common Gateway Interface)의 일종으로 여러 언어들의 다양한 요청을 이해할 수 있도록 공통된 규칙으..

[배포] Python ASGI 배포 서버 종류 (Uvicorn, Daphne, Hypercorn, Starlette)

Python ASGI 배포 서버 Python에서 웹 어플리케이션(Django, FastAPI, Flask 등)을 배포시 비동기 요청 처리를 위해, ASGI 서버를 사용하여 배포하게 되는데, Python 기반의 ASGI 서버들을 비교해보며, 종류와 특징에 대해 알아 본다. 목차 Uvicorn (asyncio, uvloop) Daphne Hypercorn Starlette Uvicorn 🎈 정의 파이썬 전용 ASGI (Asynchronous Server Gateway Interface) 서버 uvloop (이벤트 loop, c기반) + httptools (http 프로토콜 처리) 조합을 이용해 ASGI를 구현함 🎈 특징 주로 FastAPI / Django Ninja 등과 함께 사용 uvicorn 은 단일 프..

[웹서버] WebServer와 WAS 차이

Web Server 란? WebServer는 HTTP, HTTPS를 통해 Web Browser와 직접 통신하며 정적 콘텐츠(html, css, js 등)를 클라이언트에 제공해주며 WAS의 부하를 줄이기 위해, 기본적인 도메인 라우팅 관리, 부하 로드밸런싱, ssl 등의 작업 수행 하여 was의 역할 분담 등의 목적으로 주로 사용 된다. 주로 많이 언급되는 WebServer로는 Apache Tomcat, Nginx, IIS(Window) 등이 있다. WAS (Web Application Server) WAS (Web Application Server)는 외부로부터 Traffic을 받아 중간 Interface(Gunicorn, uWSGI 등)에서 Web Application으로 Request를 전달하고, R..

[배포] CGI vs ASGI vs WSGI 비교

Python Web Framework들은 Web Server와 효율적으로 통신하기 위해 잘 정의된 인터페이스가 필수적이다. 해당 Interface는 CGI => WSGI => ASGI 순으로 발전 해 왔으며 최근 파이썬 프레임워크 들은 ASGI를 지원한다. Web Server란? Webserver는 하드웨어 적인 의미와 소프트웨어 적인 의미를 함께 가지고 있으며 Client의 요청을 최초 수신하여 Web Applicaton 과 상호 소통 하고, Response를 전달해주는 역할을 한다. 대표적으로는 Apache HTTP Server와 Nginx가 있다. CGI (Common Gateway Interface ~2003) 서버와 웹 애플리케이션 간에 데이터 교환에 대한 표준 컨벤션 CGI 동작 순서 1) W..