반응형

Apache와 Nginx와 Tomcat 모두 유명한 Webserver framework들이다.

이 세가지 framework들을 간단하게 비교해보겠다. 비교는 Apache를 기준으로 하겠다.

 

Apache는 가장 오래된 Webserver framework들 중 하나로서, 모듈을 기반으로하는 구조를 가지고 있기때문에 커스터마이징이 자유롭다. 관리자들은 모듈들을 사용하여 새로운 기능들을 쉽게 도입할 수 있다. 또 .htaccess 파일을 편집하여 쉽게 설정을 바꿀 수 있다.

 

Apache Tomcat은 이름에서 알 수 있다시피, Apache를 개발한 개발사에서 만든 webserver이다. Tomcat의 가장 큰 차별점은 JAVA 어플리케이션을 위해서 만들어졌다는 점이다. Tomcat은 JVM이나 다른 JAVA 관련 라이브러리를 미리 로드해준다. 따라서 본인이 JAVA 어플리케이션을 호스팅하는 것이 아니라면 general-purpose HTTP server인 nginx나 apache를 사용하는 것이 더 적합하다.

 

Nginx는 2004년에 소개되었는데 이는 c10k problem을 해결하기위해 소개되었다. c10k problem이란 thread를 사용하여 user request를 처리하는 web server는 한번에 10000개 이상의 request를 처리할 수 없다는 문제이다. 이 문제를 해결하기 위해 nginx는 single thread로 master process가 여러개의 worker process들에게 request를 효율적으로 배분하는 방식으로 작동한다. 트래픽이 심한 웹사이트들은 nginx를 사용하는 것이 더 좋지만 그렇지 않은 경우에는 모듈을 임포트하여 쉽게 개발이 가능한 apache를 사용하는 것이 더 편리할 수 있다.

반응형
블로그 이미지

개발자_무형

,