[CentOS] 6.2에 아파치 + 톰캣6 연동하기

Language/JSP 2012. 10. 10. 14:21

[CentOS] 6.2에 아파치 + 톰캣6 연동하기

아파치, 톰캣 연동하니 너무 새삼스럽지만, 아직도 이렇게 쓰는 사람들이 있을까 궁금하기도 하다.

톰캣에 웹서버가 내장되어 있어 간단한 웹페이지라면 그냥 톰캣 하나만 써도 되지만, 톰캣의 웹서버는 관리자 + 부하들 용임을 잊지 말자.

트래픽이 발생하는 컨텐츠라면 아파치 연동이 매우 중요하다는 사실.
이 글에서 설명할 순서는 이렇다.

물론 yum으로 지원하는 애들은 전부 yum으로 설치한다. ㅋㅋ
CentOS 버전이 5.x라면, 톰캣이 tomcat5만 지원하므로 다른 문서를 찾아보는게 좋다. ㅋㅋ

1. 아파치 설치

#yum install httpd
#yum install httpd-devel

httpd-devel 을 설치하는 이유는 커넥터 설치시 apxs를 사용해야 하기 때문. 바이너리 형태의 커넥터를 구하기란 하늘의 별따기. -_-;

테스트야 뭐..문제될게 하나도 없으므로 패스~
의심많은 분들은 http://localhost 또는 http://127.0.0.1 또는 http://domain 해보시길. 

2. Tomcat 설치

#yum install tomcat6
#yum install tomcat6-webapps
#yum install tomcat6-admin-webapps

필요한 관련패키지들은 알아서 다 설치되니 요거 세줄로 끝내자. ㅋ

Tomcat을 설치한 후에는 몇가지 설정을 변경해 줘야 한다.
먼저, web.xml 을 열어서 servlet invoker 관련내용의 주석을 풀어준다.

#vim /usr/share/tomcat6/conf/web.xml

// 풀어줘야 할 주석
가. 121줄 ~ 131줄

 <servlet>
   <servlet-name>invoker </servlet-name>
         .... 중략 ....
 </servlet>

나. 369줄 ~ 372줄

   <servlet-mapping>
     <servlet-name>invoker</servlet-name>
     <url-pattern>/servlet/*</url-pattern>
   </servlet-mapping>

변경이 끝났으면 연동을 위해 ROOT 폴더를 통합하자. 왜? jsp페이지 따로, html페이지 따로 구분해서 넣어두고 관리하면 복잡해지니까. ㅋㅋ
사실은, 귀찮더라도 이렇게 관리하는게 좋다. 

#cd /usr/share/tomcat6/webapps
#ln -s /var/www/html /usr/share/tomcat6/webapps/ROOT

Tomcat6 부터는 context 관리를 context.xml에서 따로 관리하므로 한가지 더 수정해주어야 한다.

#vim /usr/share/tomcat6/conf/context.xml
// 태그를 아래와 같이 수정

<Context reloadable="true" privileged="true" >

#/etc/init.d/tomcat6 start

3. Connector 설치
설치하기 전, 브라우저로 해당디렉토리를 찾아가서 다운 받을 버전을 찾는다. 여기서는 tomcat-connectors-1.2.37-src.tar.gz 파일을 쓸 것이다.

#wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connenctors-1.2.37-src.tar.gz
# tar xvzf tomcat*
# cd tomcat*
# cd native
# ./configure –with-apxs=/usr/sbin/apxs
#make
#make install

이렇게 설치가 끝나고 나면, /etc/httpd/modules 에 mod_jk.so파일이 생성되었나 확인한다.
설치가 되었다면, 이제 workers.properties 파일을 생성한다.

4. 연동하기
# cd /etc/httpd/conf.d/
# vim workers.properties

workers.properties 내용

jkWorkersFile  /etc/httpd/conf.d/workers.properties
jkLogFile  /etc/httpd/logs/mod_jk.log
jkShmFile /usr/tomcat/logs/jk.shm
jkMount /*.jsp ajp13
jkMount /*.do ajp13
jkMount /article/* ajp13
jkMount /uploadManager ajp13
jkMount /downManager ajp13
jkMount /alice-upload ajp13
jkMount /servlet/* ajp13

# vim /etc/httpd/conf/httpd.conf
– DirectoryIndex 항목에 index.jsp 추가
– LoadModule jk_module modules/mod_jk.so 항목 추가

이렇게 연동은 끝! 테스트는 알아서들~ ^_^/


출처 - http://www.gdo.kr/post/4237/



[[ 연동 테스트 ]]


아파치의 기본 작업폴더(한마디로 루트폴더라는 말임)를 톰캣 root 폴더로 변경

 

vim /etc/httpd/conf/httpd.conf 수정


DocumentRoot "/var/lib/tomcat6/webapps/ROOT"

<Directory "/var/lib/tomcat6/webapps/ROOT">

 

<IfModule dir_module>

    DirectoryIndex index.html index.jsp
</IfModule>

 

http://localhost

http://localhost/index.jsp

http://localhost/test.php

: