Nginx

책읽는달팽 (토론 | 기여)님의 2015년 4월 21일 (화) 08:37 판

NGINX

개요

2002년부터 러시아프로그래머 이고르 시쇼브(Игорь Сысоев)가 아파치 코딩하다 아파치의 C10K 문제[1]를 보고 이를 극복하면서 네이티브 Win32환경에도 돌아갈 무설치 웹 서버 프로그램에 대한 개발을 시작하여 2004년 스푸트니크 1호 발사일에 발표한 오픈소스 서버 프로그램. 현재 이고르 시쇼브와 그가 설립한 회사인 Nginx Inc.가 이 프로젝트를 운영중에 있다. 목표는 가벼우면서도 강력한 프로그램이라고... HTTP와 리버스 프록시, IMAP/POP3등의 서버를 구동가능하다.

이를 지칭할땐 엔진 X라고 부른다. (ENgineX) 이는 러시아도 마찬가지.

구조적으로는 아파치에서 사용하는 스레드/프로세스 기반 구조 대신 비동기 이벤트 기반 구조를 가진다. 이로 인해서 서버 부하시 성능 예측이 쉽다고... 이걸 사용하는 리눅스 웹서버의 경우 LAMP(Linux + Apache + MySQL + PHP or Python or Perl)대신 LEMP를 쓴다. 여러 서드파티 기능들(SSL, GeoIP등)을 모듈로 덧 붙이는 방식을 쓰고 있다. 그래서 모듈을 안쓸경우 제외해놓는데 단, 소스 컴파일시 모듈을 추가 안하면 그 이후에 추가가 안된다.

어느 기관의 2012년 웹서버 조사에서, 웹서버 프로그램 중 조사한 사이트중 3위를 차지[1]하였으며, 활동적인 웹 서버중 2위를 차지했다. 현재 네이버 첫페이지의 웹서버 엔진이 Nginx이다. 그 밖에는 Netflix, WordPress.com, GitHub, SoundCloud, Zynga등이 Nginx를 돌린다고 한다.

현재 Nginx의 안정버전은 1.6.3이다.

각주

  1. 10K만큼의 소켓을 열게 된다면 하드웨어가 충분한데도 불구하고 I/O 처리방식의 문제때문에 프로세스가 제대로 처리하지 못한다는 문제