- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- TIL
- LEVEL 1
- CRUD
- TWIL
- 코딩테스트
- LEVEL1
- typescript
- LEVEL 2
- 알고리즘
- 면접을 위한 cs 전공지식 노트
- mongodb
- react
- 코어 자바스크립트
- 배포
- First Project
- Refactoring
- Docker
- javascript
- Git
- 에러핸들링
- TMIL
- 리팩터링 2판
- sql
- 프로그래머스
- 아고라스테이츠
- Err-Handling
- MariaDB
- CSS
- 오늘도 개발자가 안된다고 말했다
- java
성장에 목마른 코린이
[Web Server] Nginx의 소개 및 역할, Apache와의 관계 본문
Nginx는 차세대 웹서버라고 불립니다.
Nginx의 특징을 한마디로 정의하면 "더 적은 자원으로 더 빠르게 데이터를 서비스 할 수 있다" 입니다.
클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고,
Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄일 수 있는 Load Balancer로도 활용됩니다.
Nginx(웹서버)의 역할
1. 정적 파일을 처리하는 HTTP 서버로서의 역할
2. 응용 프로그램 서버에 요청을 보내는 Reverse Proxy Server로서의 역할
리버스 프록시(Reverse Proxy)란 한마디로 클라이언트가 가짜 서버에 request하면,
프록시 서버가 reverse server(배후 서버)로 부터 데이터를 가져오는 역할을 합니다.
여기서 프록시 서버가 Nginx, reverse server가 응용프로그램 서버를 의미합니다.
웹 응용프로그램 서버에 리버스 프록시(Nginx)를 두는 이유는 request에 대한 버퍼링이 있기 때문입니다.
클라이언트가 직접 App 서버에 요청하는 경우, 프로세스 1개가 응답 대기 상태가 되어야만 합니다.
따라서 프록시 서버를 둠으로써 요청을 배분하는 역할을 합니다.
Nginx는 비동기 처리 방식(Event-Drive) 방식을 채택하고 있습니다.
웹서버 시장 점유율
Nginx와 Apache의 관계
Apache는 웹의 산증인이라고 말해도 과언이 아닙니다.
1996년 이래 2013년까지 한번도 1등의 자리를 놓친적이 없습니다.
오픈 소스이고, 무료로 사용할 수 있는 소프트웨어인 Apache가 웹을 지탱하고 있다고해도 과언이 아닙니다.
하지만 Apache는 오래전에 만들어진 소프트웨어입니다.
Apache가 만들어진 시대의 요구사항이 이제는 유효하지 않은 것도 있고, 새로운 요구사항과 충돌하는 것도 있습니다.
그렇다고 과거의 유산을 청산하고 마냥 새로운 시대의 요구사항만 쫓아가기 쉽지 않습니다.
Nginx는 새로운 시대의 요청에 부응해 만들어진 웹서버입니다.
2019년 현재 까지 1위 웹서버 시장 점유율을 지키고있습니다.
앞서 소개했듯이 차세대 웹서버라고 불리는 이유입니다.
개발의 모든 목적이 높은 성능에 맞춰져 있습니다.
그리고 잘 사용하지 않는 기능은 과감하게 제외했습니다.
덕분에 폭팔적인 증가세에 있는 인터넷 서비스를 지탱하는데 적합합니다.
참조
'배포' 카테고리의 다른 글
[배포] Docker (0) | 2022.11.24 |
---|---|
[배포] 에러핸들링 - pm2 프로세스 무한증식 (0) | 2022.11.22 |
[배포] 에러핸들링 pm2 startup을 수행하였으나 Ubuntu reboot후 서비스들이 정상적으로 시작되지 않을 때 (0) | 2022.11.22 |
[배포] CI/CD (지속적인 통합/배포) (0) | 2022.11.15 |
[배포] nginx.conf 옵션 (0) | 2022.11.04 |