Nginx

Nginx
Nginx logo.svg
원작자 이고르 시쇼브
발표일 2004년 10월 4일
언어 C
웹 사이트 http://www.nginx.org/

NGINX

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

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

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

어느 기관틀:모호2012년 웹서버 조사에서, 웹서버 프로그램 중 조사한 사이트중 3위를 차지하였으며, 활동적인 웹 서버중 2위를 차지했다. 현재 네이버의 프론트엔드의 웹서버 엔진이 Nginx이다. (백엔드는 Apache HTTPd를 사용하는 것으로 보임) 그 밖에는 Netflix, WordPress.com, GitHub, SoundCloud, Zynga등이 Nginx를 돌린다고 한다. 현재 리브레 위키의 DDoS를 막아주는 클라우드플레어의 웹서버도 Nginx를 사용하고 있다.

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

각주

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