-
Nginx와 GunicornIT 2025. 3. 6. 10:02
Gunicorn과 Nginx 항상 많이 들어왔지만, 그 용도를 정확하게 알지 못합니다.
일단 Gunicorn에 대해서 알아봅시다.
Gunicorn은 Django, Flask 등등의 파이썬 웹프레임워크랑 같이 사용되는 기술입니다.
Gunicorn(Green Unicorn)은 Python Web Server Gateway Interface(WSGI) HTTP 서버입니다.
Python으로 이루어진 웹 어플리케이션의 높은 트래픽을 쉽게 처리할 수 있는 가볍고 안정적인 서버입니다.
Django나 Flask의 개발환경의 웹 서버는 보안적으로나, 성능적으로 검증되지 않아서 배포 환경에 적합하지 않다는 이유가 있습니다.
그래서 파이썬 스크립트, 어플리케이션들을 gunicorn으로 실행하고 이것을 웹 서버와 연결하는 방식으로 배포를 많이 합니다.
또한, workers를 통해 멀티 스레드를 구현할 수 있어서 Request가 많아지더라도 효율적으로 처리할 수 있습니다.
그럼 이제 Nginx는 무엇일까요?
Nginx는 높은 성능과 안정성 그리고 현재 가장 많이 사용되고 있는 웹 서버입니다.
Apache와 같은 웹 서버와 비교하면 더 빠르고 가볍고, 대규모 어플리케이션에 적합하다는 장점이 있습니다.
즉, 트래픽이 많은 웹 사이트의 서버(WAS)를 도와주는 비동기 이벤트 기반 구조의 웹 서버 프로그램 입니다.
공식문서에서는 'NGINX는 고성능, 확장성, 고가용성 웹서버, 역방향 프록시 서버 및 웹 가속기(HTTP 로드밸런서, 콘텐츠 캐시 등의 기능 결합)이다."라고 소개합니다.
client <-> web server <-> WAS <-> DB 와 같이 통신합니다.
web server는 단순히 정적 파일 응답
WAS(Web Application Server): 클라이언트 요청에 대해 동적 처리가 이뤄진 후 응답 입니다.
제가 더 설명하는 것 보다 이 아래 블로그에 더 자세하게 설명이 되어있습니다.매우 잘해놓으심.!
덕분에 더 잘 공부하고 갑니다.
Nginx란 무엇이고 왜 사용하는가? (Apache와 차이점)
Nginx의 등장 이전최초의 웹 서버는 1995년 UNIX 기반으로 만들어진 NCSA Httpd 였다.하지만 처음은 다 그렇듯이 NCSA Httpd에는 버그가 상당히 많아서 개발자들이 사용할 때 많은 불편함을 겪었다고 한다
hstory0208.tistory.com
간단하게 알아봤습니다.!
'IT' 카테고리의 다른 글
[Django] django와 django + ddd 의 차이 (0) 2025.03.21 [Flutter] WidgetsFlutterBinding.ensureInitialized(); 이란? (0) 2025.03.12 [NAS] Docker Container 환경변수 파일로 전달하기. (0) 2025.02.27 [GIT] revert와 reset (w/GPT형님) (0) 2025.02.20 [CI/CD] docker에 postgresql을 설치하고 django랑 연동해보자 [4] (0) 2025.02.20