본문 바로가기

Tip & Tech/Linux

yum으로 톰캣 설치, 아파치 연동 설정하기


출처 :톰캣 설치(리눅스) by 영재 in CodeMaker


JDK가 우선적으로 설치 되어 있어야 한다.

[root@localhost ~]# yum install tomcat5\*


yum을 통해서 우선 톰캣 관련 패키지를 설치해준다.

설치가 완료된후 service tomcat5 start명령을 통해 데몬을 실행할 수 있다. 톰캣 자체로도 웹서버 역활을 수행할 수있다.

[root@localhost ~]# service tomcat5 start


톰캣 서버를 시작한후 웹에서 http://ip:8080/ 로 접속하면 고양이 그림을 볼수 있고 톰캣 서버가 정상적으로 작동하는 것이다.

주의 사항: 이때 오라클이 8080포트를 이미 사용하고 있을 수도 있다. 이때는 /etc/tomcat5/server.xml 파일에서 포트를 변경후 톰캣을 재수행 하면 된다.


하지만 톰캣 서버만 사용할 경우 jsp,서블릿을 제외한 다른 서버사이드 언어(php,perl,..)를 사용할 수 없고 아파치에 비해 확장성이 떨어 지기 때문에 아파치와 같이 사용하게 된다.

아파치도 물론 설치되어 있는 상태에서 /etc/httpd/conf.d/proxy_ajp.conf 파일의 다음과 같은 내용을 추가 한다.

ProxyPass /tomcat/ ajp://localhost:8009/

위 설정은 /tomcat/ 디렉토리를 요청하게 되면 톰캣 서버로 넘겨주는 역활을 하게 된다.

아파치 웹서버에서 URL/tomcat/~~~.jsp를 이용하게 되면 톰캣 서버의 수행결과를 클라이언트가 받을 수 있게 된다.

톰캣이 처리해야될 파일들은 /usr/share/tomcat5/webapps/ROOT에 위치하면 되고 아파치가 처리해야 될 파일들은 /var/www/html에 두면 된다.

서블릿도 WEB-INF/web.xml 파일을 수정 후 톰캣 단독 사용때와 똑같 이 사용하고 위URL만 /tomcat/을 이용하면 된다.

톰캣과 아파치를 같이 이용한다면 위 방법이 가장 간단한 방법이 될것 같다. 하지만 jsp, 서블릿 파일과 아파치의 웹 서버 파일이 서로 전혀 다른 폴더에 분리 되어서 관리가 힘들것 같다.

따라서 위와 같은 방법말고 아래와 같이 해줘도 된다. 아파치로 .jsp파일을 요청할때 만 톰캣으로 넘기는 방식이다.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .jsp
RewriteRule (.*) ajp://localhost:8009$1 [P]

기존의 ~~/ROOT/ 디렉토리를 삭제하고 아파치의 /var/www/html/ 디렉토리를 심볼릭 링크로 걸어 쓰면 php처럼 jsp파일을 사용할 수 있다.

하지만 이런식으로 할 경우 서블릿이 잘 돌아갈지는 모르겠다.