aws로 django와 react로 만든 웹 사이트를 배포하려고 하는데 uwsgi 부분이 잘 와닿지 않음
uWSGI는 웹 애플리케이션을 위한 서버 게이트웨이 인터페이스(WSGI) 서버
Python 웹 애플리케이션과 웹 서버(Nginx, Apache, ...) 사이의 중간 계층 역할을 함
WSGI(Web Server Gateway Interface)
: 웹 서버(Nginx, Apache, ...)와 웹 애플리케이션(Django, Flask, ...) 사이에서 데이터를 주고받기 위한 표준 인터페이스
> ChatGPT의 비유에 의하면..
웹 서버: 레스토랑의 웨이터로 손님(웹 브라우저)로부터 주문을 받아 주방(웹 애플리케이션으로 전달)
웹 애플리케이션: 레스토랑의 주방으로 주문받은 음식을 준비해서 웨이터에게 돌려줌
WSGI: 웨이터와 주방 사이의 주문서
예시) Django 웹 애플리케이션의 요청 처리 과정
- 사용자가 웹 브라우저에서 URL 입력: 사용자가 https://example.com/login 에 접속
- 웹 서버가 요청을 받음: 웹 서버(Nginx/Apache) 는 이 요청을 받아들여 WSGI를 통해 Django 애플리케이션으로 전달
- Django 가 요청을 처리
- Django 애플리케이션의 URL 라우터가 '/login' URL에 매핑된 뷰를 찾음
- 해당 뷰는 로그인 폼을 표시하는 템플릿을 렌더링
- 응답 생성 및 반환
- Django 뷰는 로그인 폼이 포함된 HTML 페이지 생성, 이를 응답으로 반환
- 이 응답은 다시 WSGI를 통해 웹 서버로 전달
- 웹 서버가 응답 전달
- 웹 서버는 Django 로부터 받은 응답을 사용자의 웹 브라우저에 전달
- 사용자가 응답을 확인
- 사용자의 웹 브라우저는 HTML 페이지를 렌더링하여 로그인 폼을 표시
'Web > 배포' 카테고리의 다른 글
[배포] React, Django 배포 - 프레임워크, 동작 과정 정리 (1) | 2024.04.30 |
---|