개념
경량 웹 서버이다.
특징
1. 빠르다.
2. 리버스 프록시로 사용 가능하다.
- 프록시 : 대리. 어떠한 임무를 대신 처리해 준다.
- 리버스 프록시 : 인터넷과 백엔드 그 사이에 있는 서버를 말한다.
- 로드 밸런싱 : 프록시 서버가 클라이언트 1번은 `WAS1번`으로 가, 클라이언트 2번은 `WAS2번`으로 가라고 길을 정해주는 기술
- 캐싱 : 동일한 요청 발생 시 저장된 캐시에서 처리
- 보안 : 보안이 필요한 주요 데이터들을 숨겨준다. 외부에서는 어디서 온 데이터인지 알 수 없다.
- 포워드 프록시 : 클라이언트와 인터넷 그 사이에 있는 애를 말한다.
3. SSL을 지원한다.
- 보안 처리가 잘 되어있다는 인증서
- HTTPS도 nginx를 쓰면 쉽게 설정할 수 있다.
4. 웹페이지 접근 인증해준다.
- 로그인 시 올바른 사용자 인증을 WAS에서 말고 Nginx에서 가능하다.
5. 압축
- gzip 명령어로클라이언트가 보내는 요청이 Text일 경우, 그 데이터들을 압축시켜 줄 수 있다.
- json타입도 text이다.
6. 비동기 처리
- 아파치는 클라이언트의 요청마다 각 하나의 프로세스가 할당 받는다. 많은 클라이언트의 요청을 동시에 처리할 수 없다.
- Nginx는 이벤트루프라는 비동기방식으로 동작하여 많은 트래픽을 동시에 처리할 수 있다. 10,000개까지 가능하다.
사용 이유
Nginx : 사용자에 비례하여 많은 thread 생성으로 메모리와 CPU 낭비가 심한 Apache에 비해 비동기 event-driven 기반 구조로 동시에 많은 연결을 처리가 가능한 nginx를 사용하였다.
'TIL' 카테고리의 다른 글
[TIL] ELK와 EFK (0) | 2022.04.18 |
---|---|
Mac에서 Git Personal Access Token 설정하기 (0) | 2021.08.20 |
[MongoDB] ObjectId란 (0) | 2021.08.17 |
URI와 URL의 차이 (0) | 2021.08.08 |
댓글