검수요청.png검수요청.png

엔진엑스

위키원
Asadal (토론 | 기여)님의 2022년 12월 3일 (토) 13:06 판
이동: 둘러보기, 검색
엔진엑스(Nginx)
엔진엑스(Nginx)

엔진엑스(Nginx)는 러시아이고르 시셰프(Игорь Сысоев, 영어: Igor Sysoev)가 개발한 무료 오픈소스 웹서버 소프트웨어이다. 가벼움과 높은 성능을 목표로 하고 웹서버, 리버스프록시메일프록시 기능을 가지고 있다. 2011년 엔진엑스 회사를 설립하여 유료 기술지원을 하고 있다.

개요

  • 엔진은 게임에서도 중요한 분야이다. 소프트웨어의 구성에 필요한 기능들을 재사용하게 해서 단가도 줄이고 제 일정에 복잡한 게임을 출시할 수 있게 해준다.
  • 유연하고 재사용이 가능한 소프트웨어, 게임 미들웨어라고도 불린다.
  • 건축시각화,그래픽 등의 다양한 분야에서도 사용된다.

역사

  • 2002년 : 인터넷 발전으로 인해서 더 많은 요청을 처리하는 웹서버에 관심이 많아지게 되었고, 이고르 시셰프가 아파치 HTTPD를 코딩하다 c10k problem이 등장하였다.
  • 2004년 : 이고르 시셰프와 그가 설립한 회사인 엔진엑스(nginx.Inc.)가 오픈소스 웹서버 프로그램 프로젝트를 운영 중에 있다. 목표는 가벼우면서도 강력한 프로그램을 제작하는 것이다. 다수의 요청을 처리하기 위해선 더 나은 네트워크 I/O스레드 기술이 강화될 필요가 있었다.
  • 2009년 : F5에 6억 7천만 달러(한화로 약 7,500억원)에 인수되었다.

특징

  • 기존의 [[아파치] 웹서버는 하나의 쓰레드에서 하나의 클라이언트를 처리해서 정보를 읽고 쓰고 가공하는데 걸리는 지연시간이 있고 쓰레드 생성 속도도 느리다.
  • 엔진엑스는 이벤트 지향 아키텍처(Event-driven Architecture) 방식으로 메모리 생성 속도가 빠르고 더 작은 쓰레드로 훨씬 많은 클라이언트를 처리한다.
  • 환경 설정을 바꾸고 나서 서버 데몬을 재시작할 필요 없이 리로드(reload) 시그널을 보내면 된다. 즉, 프로세스를 재시작할 필요가 없다는 장점이 있다.
  • 아파치 웹서버가 제공하는 모든 기능을 제공한다. ('트래픽 부하 균형'(load balancing), TLS/SSL 보안, 메일프록시)
  • 소켓(socket) 인터페이스처럼 결과를 리턴하는 것이 아니라 블로킹(blocking)하는 Non blocking event driven 네트워크 통신방식으로 동작한다.[1]

활용

  • 엔진엑스를 이용한 무중단 배포 구축하기
  • 엔진엑스를 이용한 gzip 압축하기
  • 위치에 따라서 프록시서버 다르게 주기[2]

전망

엔진엑스의 성능도 좋아서 추후에 큰 대규모 트래픽을 처리하는 웹 서비스의 경우엔 많이 사용될 것이다.

각주

  1. a broken piece of glass and IT space, 〈NGINX 소개와 사용 현황〉, 《네이버 블로그》, 2012-05-25
  2. 기억보단 기록을, 〈웹 서비스 출시하기 - 7. Nginx를 활용한 무중단 배포 구축하기〉,《티스토리》 , 2018-02-02

참고자료

같이 보기


  질문.png 이 문서는 로고 수정이 필요합니다.  

  검수요청.png검수요청.png 이 엔진엑스 문서는 소프트웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.