nginx와 uwsgi에 대해서 알아보겠습니다.
Django나 Flask 서비스를 배포할 때 많이 나오는 단어인데, 이게 검색을 해도 쉽게 설명해놓은게 없어서, 어떻게 설명을 해놔야 할지 너무 혼란스러웠습니다.
일단 위키부터 살펴봅시다.
HTTP 프록시와 웹 서버 기능[편집]
- 정적 파일과 인덱스 파일 표현, 자동 인덱싱 기능.
- 캐싱을 통한 리버스 프록시
- 로드 밸런싱
- 고장 진단
- SSL 지원
- 캐싱을 통한 FastCGI 지원
- Name-, IP-기반 가상서버
- FLV 스트리밍
- MP4 스트리밍 모듈을 이용한 MP4 스트리밍
- 웹페이지 접근 인증
- gzip 압축
- 10000개의 동시 접속을 처리할 수 있는 능력
- URL 다시쓰기 (URL rewriting)
- 맞춤 로깅
- 서버 사이드 기능 포함
- WebDAV
메일 프록시 기능[편집]
- SMTP, POP3, IMAP 프록시
- STARTTLS 지원
- SSL 지원
출처 - ko.wikipedia.org/wiki/Nginx
와 같은 이야기가 있습니다.
캐싱과 로드밸런싱 등등의 기능이 된다 라고 하는 것 같습니다.
그러니깐 자세히는 잘 모르겠지만 한마디로 하면 아래의 그림처럼, 사용자 요청이 들어오는 것들을 처리해주는 역할을 하는데
저기 사용자 요청이 들어온 것을 처리해줄 때 엔진엑스에서 Django 나 Flask로 요청을 또 넘겨주는데 필요한게 uwsgi 입니다.
자세한 설명은 아래의 링크에 있는데 가장 핵심만 골라내면
wsgi server는 많은 request들을 다룰 수 있도록 설계되었다. framework들은 스스로 수천개의 request들을 실행하고 최고의 방법으로 처리할 수 있도록 설계되어있지 않다.(django의 경우 manage.py runserver로 배포하면 안된다는 소리다.)
와 같습니다. 그니깐 뭔소린지는 잘 몰라도 엔진엑스와 wsgi를 이용해서 배포하는게 좋다 입니다.
'개발 > 잡다개발' 카테고리의 다른 글
python requirments.txt (0) | 2020.09.08 |
---|---|
파비콘 html적용 방법 (0) | 2020.09.07 |
연관규칙분석 Apriori Algorithm (0) | 2020.07.31 |
공분산 메모 (0) | 2020.07.17 |
SNA 메모 (0) | 2020.07.17 |