
runserver와 Nginx의 주요 차이점 with GPT용도 및 기능:
성능 및 확장성:
정적 파일 처리:
보안 및 기타 기능:
요약! Django의 runserver는 간단한 개발 목적으로 사용되는 것에 비해 Nginx는 실제 서비스 운영에 필요한 고급 기능과 높은 성능을 제공하는 웹 서버 및 리버스 프록시 서버이다.
리버스 프록시 서버(Reverse Proxy Server)는 클라이언트로부터 요청된 내용을 다른 서버로 전달하고, 해당 서버로부터 받은 응답을 클라이언트에게 반환하는 서버이다.
이는 일반적으로 클라이언트와 백엔드 서버 간의 통신을 중개하고 제어하기 위해 사용됩니다.
리버스 프록시 서버의 사용 목적
보안 강화: 리버스 프록시 서버는 클라이언트와 백엔드 서버 사이에 위치하여 백엔드 서버의 실제 IP 주소를 감춘다! 보안을 강화하고 직접적인 공격으로부터 보호할 수 있다.
로드 밸런싱: 여러 대의 백엔드 서버에 요청을 분산시켜 로드를 균형있게 분산시키는 역할을 합니다. 트래픽 부하를 분산하여 시스템의 성능과 가용성을 향상 시킨다!
캐싱: 백엔드 서버로부터 받은 응답을 캐싱하여 동일한 요청에 대한 응답을 재사용할 수 있다! 응답 시간을 단축하고 대역폭을 절약한다.
SSL 종단 처리: 클라이언트와의 SSL/TLS 연결을 관리한다!
Django, Gunicorn, Nginx는 웹 애플리케이션을 배포하고 실행하기 위해 함께 사용되는 일반적인 조합!

Gunicorn은 Django를 실행하고, Nginx는 요청을 전달하고 응답을 클라이언트에게 반환!
Nginx가 클라이언트의 요청을 받아들이고 정적 파일을 제공하며, 동적 요청은 Gunicorn 백엔드 서버에 프록시 한다.
Django:
Django는 파이썬으로 작성된 웹 애플리케이션 프레임워크. 데이터베이스와 연동하여 웹 페이지 및 웹 애플리케이션을 개발!
Nginx:
Nginx는 고성능 웹 서버 및 리버스 프록시 서버.
Gunicorn과 같은 백엔드 서버로 동적요청을 프록시하여 Django에 전달한다
Gunicorn and WSGI
Gunicorn(WSGI) 은 Nginx 서버와 Django 사이에서 Request를 처리하는 기능을 한다. Gunicorn은 간편한 설치와 높은 성능으로 Django 서비스 배포 시 많이 선택된다고 한다!