본문 바로가기
삽 푸는 곳

톰캣과 아파치 연동

by kkumtree 2018. 12. 18.

톰캣과 아파치 연동에 3가지 방법이 있다.


1. mod_jk


2. mod_proxy


3. mod_prox_ajp


주로 1번인 mod_jk로 연동하는 경우가 많다.





우선, .mod_jk 설치 - gcc, gcc-c++, httpd-devel 세 가지 패키지 필요하다.


yum install gcc gcc-c++ httpd-devel



다음, 연동을 위해 필요한 tomcat-connector를 다운로드 한다.


http://tomcat.apache.org/download-connectors.cgi 


CentOS에서 설치하므로 tar.gz파일을 다운로드한다.


다운로드 받은 경로로 이동


다운로드 받은 tomcat-connector.tar.gz의 압축을 해제한다


tar zxvf tomcat-connector*



생성된 디렉토리 아래의 native로 경로 설정


./configure --with-apxs=/usr/sbin/apxs

make

make install





---------------------------------------------------------------------------




httpd 설치하고, tomcat-connector를 설치하고


make & make install


mod_jk.conf 파일을 만들어? workers.properties도? 


conf

<IfModule mod_jk.c>
                JkWorkersFile "/usr/local/apache/conf/workers.properties"
                JkLogFile "/usr/local/tomcat/logs/mod_jk.log"
                JkLogLevel info
                JkAutoAlias "/usr/local/tomcat/webapps"
                JkMountFile "/usr/local/apache/conf/uriworkermap.properties"
                JkMount /* ajp13
                JkMount /*.jsp ajp13
                JkMount /servlet/* ajp13
                JkMount /examples/*.jsp ajp13
                JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
                JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
                JkRequestLogFormat "%w %V %T"
           </IfModule>


properties


workers.tomcat_home="/usr/local/tomcat"
           workers.java_home="/usr/local/java"
           ps=/

           worker.list=ajp13
           worker.ajp13.port=8009
           worker.ajp13.host=localhost
           worker.ajp13.type=ajp13


httpd.conf 수정

- httpd.conf 중간에 모듈 추가
              LoadModule jk_module modules/mod_jk.so
           - httpd.conf 파일 제일 밑 부분에 다음을 추가한다.
             #JK Connection Configuration
             include conf/mod_jk.conf
       


 Apache 2.2.11와 Tomcat 6.0.18 실행하기
           [root@localhost ~]# catalina.sh start
           [root@localhost ~]# apachectl start



가정 1)

중간에 빼 먹은게...


tomcat-connector에서 ./Conf~~~로 apxs 생성해주고


경로 이동을 했어야 하는데


경로 이동을 하지 않고 tomcat-connector의 conf파일과 properties파일을 건드렸기 때문에 아파치와 톰캣 연동이 안됐다???




출처 : http://egloos.zum.com/yamazsw/v/2249034




ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


아파치가 기본으로 깔려있다. which httpd -> /usr/sbin/httpd



설정파일과 로그파일이 위치한 곳 - /etc/httpd/

여기서 ls를 하면

conf   conf.d   logs   modules   run


conf - 웹 서버의 주요 설정파일인 httpd.conf, MIME의 형식을 지정하기 위한 파일(magic 파일 이라고 함)이 있는 곳

conf.d - 아파치의 주요 설정을 분리해서 저장하는 곳, httpd.conf 설정내용을 분리해 이곳에 저장하면 httpd.conf 파일에서 불러와 사용하게 된다.    httpd.conf 파일 마지막에 'IncludeOptional conf.d/*.conf' 구문이 있다.

logs - 로그파일이 저장되는 디렉터리

modules - 아파치 모듈 설치 디렉터리



(방화벽 설정은 CentOS 7에서는 systemctl 커맨드를 이용, CentOS 6에서는 service를 이용)




설치는 되어 있으니 방화벽 설정도 필요 없을 것이다.


이제 /etc/httpd/conf로 이동하고 -> mod_jk.conf파일 만들기 ( vi mod_jk.conf )




아파치 2.4 깔기 - 


선행으로 apr을 깔아야한다.


apache.mirror.cdnetworks.com/apr/


apr, apr-util 설치