2018

2018년 05월 08일 (화)

 

ⓒ CIO Korea, Tom Macaulay | Coumputerworld UK


 

 

웹 서버(web servers)는 1990년 팀 버너스-리(Tim Berners-Lee)가 최초의 웹 브라우저를 탄생시켰던 프로젝트의 하나로, CERN httpd 개발에서 출발해 오랜 역사가 있다.

오늘날 몇몇 웹 서버 대기업은 비공개 소스 선택지를 기업들에게 제공하지만, 대다수 웹 서버 회사들은 팀 버너스-리가 구현한 소스 공개 가치를 유지하고 있다. CERN httpd의 소스 코드는 1993년 일반에게 공개되었다.

현재 시중에 나와 있는 기업용 오픈소스 웹 서버를 소개한다.

 

NGINX_0.jpg

1. 엔진엑스 HTTP 서버

엔진엑스(NGINX) 는 웹사이트 트래픽 증가와 광대역 인터넷의 성장, 그리고 이에 따른 1만 동시 접속을 관리해야 할 필요에 대응하고자 2002년 러시아 엔지니어인 이고르 시오세프가 개발했다. 비동기 이벤트 주도 아키텍처라는 해법으로 탁월한 성능과 효율을 자랑한다.

시오세프의 회사는 이내 급성장했다. 현재 3억 개 이상의 사이트와 애플리케이션이 이 플랫폼을 이용하고 있고, 이는 전년 대비 2배가 넘는 수치다. 또한 세계에서 트래픽이 가장 많은 10만 사이트 가운데 대다수가 채택한 엔진이다.

확장성과 아울러 헤비 유저 부하량을 처리하는 데 최소한의 리소스를 이용한다는 점에서 특히 인기가 있다. 리버스 프록시(a reverse proxy)로서, 그리고 메일 프록시 서버(a mail proxy server)로서도 기능할 수 있다.

ASF.jpg

2. 아파치 HTTP 서버

마이크로소프트가 2014년 7월 아파치의 시장 점유율을 넘어섰고, 그 후부터 다른 경쟁자들에 의해 시장을 잃어가고 있다. 2018년 4월 현재 아직도 3억 7,400만 사이트를 구동하는 엔진이고, 활성 사이트 점유율이 가장 높다.

아파치(Apache)라는 이름은 ‘A Patchy Server’를 재미있게 부르는 말에서 유래했다고 알려졌으나, 한 아파치 개발자에 따르면 아파치라는 미국 원주민 부족의 용맹성에 경의를 표하는 말이다.

아파치는 모듈 아키텍처를 이용해 각 인프라 부분들의 상이한 요구를 만족시킨다. 안정성, 다채로운 기능들, 다수의 서버 측면 프로그래밍 언어를 지원하는 것으로 유명하다.

 

LIGHTTPD_0.png

3. 라이티

라이티(Lighttpd)’는 ‘light’와 ‘httpd’를 합친 말이지만, 웹 서버가 가진 속도, 유연성, 안정성을 표현하기 위해 ‘라이티(lighty)’라고 발음한다. 고성능의 속도가 핵심인 환경에 맞춰 최적화된 경량 웹 서버이고, 고부하 서버들에 이상적이다.

잰 네쉬체는 한 서버의 1만 동시 접속을 취급하는 c10k 문제를 해결한다는 엔진엑스 개발자인 이고르 시오세프의 생각에 동의하며 이 서버를 개발했다. 2003년 대학 논문을 쓰면서 개념 증명 설계로서 개발하기 시작했지만 현재는 가장 인기 있는 웹 서버의 하나가 되었다.

라이티는 메모리 풋프린트(memory footprint)가 비교적 낮고, CPU 부하가 작고, 여러 고급 기능들을 가진다. 뛰어난 무결성 수준으로 외부 프로그램 인터페이스를 지원하고, 어떤 프로그래밍 언어로 작성된 웹 애플리케이션이든 전부 지원한다.

HIAWATHA.png

4. 히아와타

히아와타(Hiawatha)는 휴고 리싱크가 2002년 네덜란드에서 컴퓨터공학을 공부하던 중 기숙사에서 인터넷 서버들을 지원하고 싶어서 개발하였다. 목표는 서버들에서 발견된 보안 한계를 둘러싼 취약점들과 혼란스러운 구성 툴에 대처하는 시스템을 개발하는 것이었다.

그가 개발한 서버는 다른 최고의 웹 서버들이 가진 모든 일반적 보안 수단은 물론 독자적인 보안 기능을 여럿 포함한다. 아울러 가독성 있는 구성 구문으로 HTTP나 CGI에 대한 전문성 없이 사용할 수 있다.

히아와타는 크기가 작고, 보안이 안정적이며, 쉽게 설치할 수 있다는 게 강점이다. 고급 기능보다는 보안, 이용성, 속도, 성능을 우선시하는 아파치의 경량 대안을 찾는 사람들에게 이상적이다.

CHEROKEE_0.png

5. 체로키

체로키(Cherokee)는 이 글에서 소개한 웹 서버 가운데 아메리칸 원주민 부족 이름을 딴 세 번째 웹 서버다. 2001년 아카마이 테크놀로지의 엔지니어링 총괄 알바로 로페즈 오르테가가 개발하였다. 오르테가는 모듈식 경량 설계 안에 속도와 기능성을 취합하고 싶어 했다.

체로키는 메모리 풋프린트가 낮고, 부하 밸런싱 장치들이 있고, 확장성이 있고, 고성능에 이용자 친화적인 웹 서버로서 이내 탁월성을 인정받았다.

인상적인 여러 기능, 예컨대 서버 및 이의 모든 기능의 직접적 구성 설정을 지원하는 체로키-어드민(Cherokee-admin)이라는 웹-기반 관리 인터페이스를 포함한다. 리눅스, 맥 OS X, BSD, 솔라리스에서 구동되지만, 윈도우에서는 구동되지 않는다.

MONKEY.png

6. 몽키 HTTP 서버

몽키 HTTP(Monkey HTTP)는 처음에는 리눅스용으로 최적화되었으나 현재에는 맥 OS X에서도 구동되는 경량 서버 및 개발 스택이다. 임베디드 디바이스를 위해 개발되었고, 그 결과 확장성이 뛰어나고, 아울러 메모리와 CPU 소비가 낮다.

2002년 단순히 학습을 위한 실험 용도로 시작되었지만 서버가 이벤트 중심 시스템으로 재개발되었던 2008년부터 상업적 용도로 성격이 변화했다.

서버는 스레드별로 수천 클라이언트를 수용하는 하이브리드 메커니즘을 통해 기능한다. 설치가 쉽고 임베디드 장치에 이상적인, 초소형 서버의 과부하 하에서 뛰어난 성능을 제공한다.

TOMCAT.png

7. 아파치 톰캣

아파치 톰캣(Apache Tomcat)은 아파치 라이선스 하에서 개발된 서블릿 및 자바 서버 페이지 컨테이너이고 단독 서버로서나 아파치 등 기존 웹 서버의 애드-온으로 모두 기능할 수 있다.

아파치 HTTP 서버는 정적 웹 페이지를 위한 전통적 서버인 반면, 톰캣은 원래 동적 웹 페이지의 자바 서블릿과 JSP를 전개하기 위해 개발되었고, 자바 개발자들이 웹 애플리케이션을 구동하는 데 이용한다.

아파치 HTTP 서버와 결합해 사용될 수 있을 뿐 아니라, 자체적인 내부 HTTP 서버에 의해 뛰어난 웹 서버로도 기능한다.


 

 

 

 

 

※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지


 

[원문출처 : http://www.ciokorea.com/slideshow/38153]

번호 제목 작성 조회수
1 기업용으로 '괜찮은' 오픈소스 웹 서버 7선 2018-05-09 1634
맨 위로
맨 위로