'아파치 톰캣 연동'에 해당되는 글 1건

  1. 2007.11.23 [UNIX Solaris] 아파치와 톰캣을 jk를 이용해서 연동해봅시다! (2)
 

아파치랑 톰캣을 설치하셔야 합니다.
아파치는 여기 클릭하시면 설치방법이 있구요.
톰캣은 여기 클릭하시면 설치방법이 나와요!
그리고 나서 진행해봅시다.

우선 tomcat connector를 받아야 돼요. jk라고 하는 놈이네요.
http://tomcat.apache.org/download-connectors.cgi 여기서 커넥터를 받습니다.
Binary로 받으면 좋은데 제 운영체제가 Solaris인데 x86용이 없군요-_-;
컴파일해야하는군요. JK 1.2.25 Source Release tar.gz 를 받읍시다.

gunzip으로 풀고, tar로 압축을 풀어봅시다.

[root][/user/mudchobo/install]gunzip tomcat-connectors-1.2.25-src.tar.gz
[root][/user/mudchobo/install]ls
tomcat-connectors-1.2.25-src.tar
[root][/user/mudchobo/install]tar xvf tomcat-connectors-1.2.25-src.tar


압축을 풀었으면 해당폴더로 이동합시다. 그리고 native폴더로 이동합니다.
그리고, 아래와 같은 명령어를 쳐줍시다.

[~~tomcat-connectors-1.2.25-src] cd native
[~~native]./configure --with-apxs=/usr/local/apache2/bin/apxs

아.....뭔가 진행이 되는군요. 저기서 no apxs given 라고 무쟈게 많이 봤는데 그건 아파치를 static으로 설치해서 그럴껍니다-_-; 아파치설치할 때 옵션을 잘줘야합니다. 저것때문에 몇시간 고생을-_-;
근데 마지막에 no apache given이랑 no netscape given이라는게 뜨네요. 잘모르겠어요-_-;
그래도 되는 듯 하네요 ^^

make를 실행해서 컴파일하고, make install해서 해당폴더로 mod_jk.so 파일을 배포합시다!
[~~native] make
  컴파일~~~~~~~~~~
[~~native] make install
  어쩌구저쩌구~~~~~~~


배포가 완료되었으면 이제 셋팅해야합니다.

아파치의 설정디렉토리로 이동합니다.( /usr/local/apache2/conf/ )
이동 후 workers.properties파일을 생성한 뒤 아래와 같이 적습니다.

[~~native] cd /usr/local/apache2/conf/
[root][/usr/local/apache2/conf] vi workers.properties

workers.tomcat_home=/usr/local/tomcat
workers.java_home=/jdk1.6.0_03
ps=/
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1


:wq
[root][/usr/local/apache2/conf]

httpd.conf파일을 수정하도록 합시다. 맨아래에 다음과 같이 추가합시다.

#
# Mod_jk settings
#
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /usr/local/apache2/conf/workers.properties
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /examples/*.jsp worker1
Alias /examples "/usr/local/tomcat/webapps/examples/"
<Directory "/usr/local/tomcat/webapps/examples/">
        Options FollowSymLinks
        AllowOverride None
        Allow from all
</Directory>
<Directory "/usr/local/tomcat/webapps/examples/WEB-INF/">
        AllowOverride None
        deny from all
</Directory>

맨위에 LoadModule에서 jk_module을 쓰겠다는 것 같고,
WorkerFile은 방금 작성한 걸로 쓰겠다는 것같고,
그다음은 다 로그얘기군요.
JkMount는 /examples/에서 jsp요청이 들어오는 것은 다 tomcat에서 처리하겠다는 말입니다.
마지막에 중요한게.....Alias입니다.
원래 http://자기주소/ 이렇게 하면 Document Root인 아파치경로/htdocs인가? 거기를 가리키는 겁니다.
하지만 http://자기주/examples 로 요청이 들어오면 Document Root를 저걸로 바꾸겠다는 것이지요.

그리고 WEB-INF폴더는 보안상 열리면 안돼요. 막아줘야돼요 ^^
저렇게 막아주면 됩니다. 그러면 http://자기주소/examples/ 하면 jsp, servlet샘플이 열릴 것입니다.
jsp외에 것은 다 아파치에서 처리를 하게 되는 것이죠.


 
Posted by 머드초보

댓글을 달아 주세요

  1. 윤범석 2009.05.29 16:55  댓글주소  수정/삭제  댓글쓰기

    안녕하세요! 현재 PHP JSP 연동을 하려고 하는데 위 설정처럼 했는데 examples에서 Excute를 눌러 jsp페이지를 열면 404에러가 나네요. 혹시 이런 증상시 대처방법을 아시는지요?

    • 머드초보 2009.05.30 12:28  댓글주소  수정/삭제

      음 404에러가 나나요?
      톰캣에서 나는 404에러인가요? 아파치에서 나는 에러인가요?
      저거 한지 오래돼서 다까먹었네요ㅠ
      전 저렇게 해서 된 것 같은데 죄송해요 답변이 못되서 ㅠ