Nginx에 대한 글입니다.
1.Nginx의 정체과 구조
2.Nginx의 장점
3.Nginx의 사용 예시
다루는 내용은 크게 세 가지로 위 세가지 내용을 다룹니다.
Nginx의 정체와 구조
Nginx는 서버 프로그램으로 웹 서버, 프록시 서버, 메일 프록시 서버, TCP/UDP 프록시 서버로 사용할 수 있습니다.
Nginx를 가장 보편적으로 쓰는 예시는 웹 서버입니다.
예전에는 Apache httpd가 점유율이 높았지만 이제는 Nginx가 가장 대중적인 웹서버입니다.
Nginx의 내부 구조는 Event-Driven 방식으로 동작합니다.
Event-Driven이란 주기적으로 이벤트가 발생했는지 확인하고
이벤트가 감지되었을때에 이벤트를 처리하는 방식입니다.
마찬가지로 Nginx는 주기적으로 이벤트가 발생했는지 확인하고
이벤트가 감지되었을때에 어플리케이션 서버로 이벤트가 있음을 알립니다.
이때 이벤트 감지와 이벤트를 어플리케이션 서버에게 알려주는 것은
커널이 해결하기 때문에 Nginx는 적은 비용으로 비동기적으로 이벤트를 처리합니다.
Nginx의 장점
1. 요청 처리 비용이 적습니다.
위에서 설명했듯이 nginx는 Event-Driven 방식을 사용하기 때문에
비동기적으로 요청을 어플리케이션 프로그램에 전달 할 수 있고
요청을 처리하는데에 드는 비용이 적다는 장점이 있습니다.
2. 다양한 Event-Driven API feature를 지원한다.
Event-Driven API feature를 다양하게 지원하기때문에
상대편 소켓이 셧다운되거나, 장애발생시 유연하게 대처할 수 있습니다.
3. 메모리 사용량이 적습니다.
Nginx는 아주 가볍습니다.
Nginx에서는 비활성화된 HTTP keep-alive 연결 1만개에 2.5메가바이트의 메모리만 사용합니다.
경량 서버를 운영하는데에 적극적으로 운영할 수 있습니다.
Nginx의 사용 예시
Nginx은 크게 세 가지 용도로 사용됩니다.
1. 가장 많이 사용하는 웹서버,
2. 어플리케이션 서버의 소켓을 가리기 위한 프록시 서버,
3. 클러스터링된 어플리케이션 서버의 로드밸런서,
위 세 가지 용도로 사용할 수 있고, 설정을 통해서 원하는 방식으로 사용가능합니다.
마무리
Nginx를 사용하는데에 필요한 정보들을 시리즈로 적고 있습니다.
궁금하거나, 하고 싶은 말이 있으시면 댓글을 통해서 말해주시길 바랍니다.
감사합니다.
'Nginx 시리즈' 카테고리의 다른 글
Nginx 로드밸런싱 설정 (1) | 2020.04.14 |
---|---|
Nginx 프록시 서버 (0) | 2020.04.04 |
Nginx 설치 (0) | 2020.04.01 |