가벼우면서도 강력한 프로그램을 목표로 개발된 오픈 소스 웹 서버 프로그램이다. '엔진엑스'라고 읽는다. HTTP와 리버스 프록시, IMAP/POP3 등의 서버 구동이 가능하다. Java 서블릿은 대개 Apache의 톰캣을 연동해서 구동하고, PHP의 경우 PHP-FPM(FastCGI Process Manager)을 연동해서 구동한다.
Nginx는 요청에 응답하기 위해 비동기 이벤트 기반 구조를 가진다. 이것은 아파치 HTTP 서버의 스레드/프로세스 기반 구조를 가지는 것과는 대조적이다. 이러한 구조는 서버에 많은 부하가 생길 경우의 성능을 예측하기 쉽게 해준다.
nginx 특징
nginx 의 가장 큰 특징은 비동기 Event Driven 에 의한 Non Blocking 처리를 한다는 것. 그에 따라 동시 접속수가 늘어날 수록 물리 메모리가 증가하는 프로세스 기반의 apache 서버 에 비해 소비 메모리량이 적어지면서 동시 처리수를 급격하게 늘릴 수 있다.
또한 single Thread 기반으로 마스터 / worker 프로세스 구동 방식을 채택하여 context switching 를 하지 않기 때문에 CPU 사용률을 감소시킬 수 있다.
https://www.youtube.com/watch?v=
https://www.youtube.com/watch?v=8IGgeaLlYW8
https://ssdragon.tistory.com/60