[2021.07.29] Nginx 개념 및 사용 용도 (+ apache 와 Nginx의 차이점)
해당 게시글은 nginx의 개념 , apache와 nginx의 차이점에 대해 알아보기 위해 작성된 게시글이다.
해당 게시글을 보고 개념 및 사용용도에 정확하게 알아보자.
nginx란 ?
- 동시접속 처리에 특화된 웹 서버 프로그램
- 트래픽이 많은 웹사이트를 위해 확장성을 위해 설계한 비동기 이벤트 기반 구조(Event Driven) 의 웹서버 소프트웨어
- 클라이언트의 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 사용
★★★ nginx 사용 용도? ★★★
- Linux server 에서 virtual host를 사용하기 위해서
- port forwarding을 하기 위해서
e.g : air.monorama.kr:5601 -> air.monorama.kr쳐도 5601으로 자동으로 접속하게 해줌
Nginx 와 Apache와의 차이점
Apache
- Thread & Process 구조로 request 1개를 쓰레드 1개가 처리하는 구조
- 사용자가 많으면 많은 쓰레드가 생성되어 메모리 및 CPU 낭비가 심해짐
Nginx
- Apache보다 적은 자원으로 빠르게 동작 가능
- 비동기 Event-Driven 구조
* Event-Driven 란?
-> 주기적으로 이벤트가 발생했는지 확인하여, 이벤트가 감지되면 이벤트를 처리하는 방식
동기(Synchronous) & 비동기(Asynchronous)
* 동기(Synchronous)
-> A가 B에게 데이터를 요청했을 때, 이 요청에 따른 응답을 주어야만 A가 다시 작업 처리가 가능
즉, 응답을 주지 않으면 계속 대기해야함(작업을 하지 못함)
* 비동기(Asynchronous)
-> A의 요청을 B가 즉시 주지 않아도, A는 다른 작업 처리를 할 수 있는 방식
즉, 응답을 주든 안주든 상관없이 작업 수행이 가능함
Nginx Advantages
1. 요청 처리 비용이 적음
- Event-Driven 방식을 사용하기 때문에, 비동기적으로 요청을 어플리케이션 프로그램에 전달 할 수 있고,
요청을 처리하는데에 드는 비용이 적음
2. 다양한 Event-Driven API feature를 지원
- Event-Driven API feature를 다양하게 지원하기때문에, 상대편 소켓이 셧다운되거나, 장애발생시 유연하게 대처함
3. 메모리 사용량이 적음
- 가볍기 때문에, 경량 서버를 운영하는데에 적극적으로 운영
Example of using Nginx
HTTP server
- 정적파일을 처리하는 web server의 역할
e.g: web server의 역할은 HTML, CSS, Javascript, 이미지와 같은 정보를 웹 브라우저(Chrome 등)에 전송하는 역할
Reverse proxy server
- 클라이언트는 가짜 서버에 요청(request)하면, 프록시 서버(Nginx)가 배후 서버(reverse server)로부터 데이터를 가져오는 역할
* 웹 응용프로그램 서버에 리버스 프록시(Nginx)를 두는 이유는 요청(request)에 대한 버퍼링이 있기 때문에 프록시 서버를 둠으로써 요청을 배분함
e.g : 클라이언트에서는 80포트로만 요청이 들어오는데, 들어오는 요청을 8080, 8081 등 여러 Application server로 보냄
Mail proxy server
- Generic TCP/UDP proxy server
'Etc' 카테고리의 다른 글
[2021.08.06] How to move a DNS server on Whois ? (0) | 2021.08.06 |
---|---|
[2021.08.05] How to solve memory errors(Out of memory) on jupyter notebook? (0) | 2021.08.05 |
[2021.07.23] 3개의 사이트에서 crawling 프로젝트 (+ 매일 DB에 저장) (0) | 2021.07.23 |
[2021.07.21] 트레이너급 동네 아저씨와 상체(가슴/어깨) 운동 루틴 (0) | 2021.07.22 |
[2021.07.21] ASUS 노트북 racing mode 끄는 방법 (0) | 2021.07.21 |
댓글