[1] 아파치 웹서버와 톰캣을 연동함으로써 얻는 이점.
1. 톰캣은 정적인 페이지를 로드하기에 아파치보다 느린 처리 속도를 보인다. 2. 톰캣은 설정할 수 있는 내용들이 아파치에 비해 부족하다. 3. 톰캣은아파치보다 부하에 약하다. 4. 톰캣만으로는 서블릿/JSP밖에 서비스할 수 없다. 5. 톰캣과 아파치를 연동하여 부하분담이 가능하다. (다수의 톰캣 구성으로의 로드밸러싱의 의미가 아닌 톰캣만으로 처리가능한 static page를 apache에서 대신함으로써의 부하를 분담) |
1번과 5번에 대한 연동 이유로 불필요하다는 내용
http://www.tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform
즉, 톰캣 5.5 이상에서 httpd의 native 모듈을 사용해서 static page를 처리하는 기능을 제공한다는 내용이다. 이 경우 httpd와 톰캣이 같은 모듈을 사용하는 셈이니 성능에서 차이가 날 이유가 없다.
따라서 단지 static page 처리의 서능만을 위해서라면 굳이 톰캣앞에 apache Httpd를 두는 것은 불필요하다. 오히려 메모리만 많이 먹고 관리부담은 커지고 불필요한 부하만 걸릴 뿐이다.
그럼에도 불구하고 apache와 tomcat을 실제 서비스에서 연동하여 사용하는 이유는 크게 다음과 같다.
1. 80 포트의 사용권한 - 리눅스에서 ~1024 포트까지는 root 계정만 사용이 가능하므로, tomcat을 80 포트로 운영하기에는 문제가 있다. ( 기본적으로 root 계정이 아니면 톰켓을 80 포트로 서버를 열 수 없다.) (열더라도 접속이 되지 않으며, 억지로 하면 방화벽을 이용하는 방법이 있긴하다.) (리눅스에서는 1024 이하의 포트는 root 이외의 계정에게는 권한을 주지 않는다.) 보안이 문제인데 톰켓을 root 권한으로 80포트로 돌릴때 만약 tomcat이 뚫리면 해커는 리눅스 서버를 root 권한으로 서버를 해킹할 수 있다. (톰캣은 서버 접속자에게 같은 권한을 준다.) 2. 정적 데이터 처리
|
참고-
http://toby.epril.com/?p=1125
http://blog.seyannare.net/nicky910/9
http://fruitdev.tistory.com/25