본문 바로가기
Server/Tomcat&Nginx 외

아파치 톰캣 연동하는 방법 (Apache <-> Tomcat)

by 나비와꽃기린 2019. 4. 11.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



Window 환경에서

아파치웹서버와 톰캣 연동 (Apache httpd <-> Tomcat)



하고자 하는 것

다음과 같이 Apache port 7777로 tomcat에 배치한 어플리케이션에 접근하고자 한다.




Apache httpd web server와 tomcat을 연계하는 방법은 세가지가 있다는데

필자같은 경우는 mod_proxy_ajp 연결방식을 사용해서 연동했다.

3가지 방법에 대한 자세한 내용은 다음 블로그에 잘 정리되어 있다..

참고블로그 ) https://www.lesstif.com/pages/viewpage.action?pageId=12943367





(1) 일단 apache webserver 설치 (생략)


(2) apache에 workers.properties파일생성

설치된 경로로 이동해서 연동할 tomcat의 리스트를 적어줄

workers.properties 파일을 생성한다.

>> C:\Apache24\conf (설치경로) 에 workers.properties 파일생성




(3) workers.properties 작성


worker.list=worker1 

worker.worker1.type=ajp13 

worker.worker1.host= local ip 적어주세요

worker.worker1.port=8009


이때 worker.worker1.port는 tomcat 설치경로의 conf\server.xml 의 connector port를

적어주면 된다.


C:\apache-tomcat-8.5.37\conf 


(4) apache httpd.conf 수정


1. 일단 웹자원의 경로를 지정해주었습니다.

C:\Apache24\conf\httpd.conf 의 DocumentRoot 수정



#
DocumentRoot "D:\~~~~~~\~~~~web_src\WebContent"
<directory "D:\~~~~~\~~~~web_src\webcontent" >
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:




2. JkMount 설정. 

어떤 URL로 Apache에 접근할때 tomcat (worker)가 처리할지를 설정하는 부분입니다.



LoadModule jk_module modules/mod_jk.so 
JkWorkersFile conf/workers.properties 
JkLogFile logs/mod_jk.log 
JkLogLevel info 
JkMount /application의contextroot적어주세요/* worker1
JkMount /application의contextroot적어주세요/* worker1
JkMount /application의contextroot적어주세요/* worker1



(5) tomcat에 application 배포

(는 당연한 거겠죠?)

JkMount에 기술된 contextroot와 같게 맞춰주세요.


tomcat의 server.xml




(6) Apache와 tomcat 재기동



(7) URL호출

http://localhost:7777/application의contextroot/

(필자의 apache port는 7777)



(8) Apache port로 application의 context 호출. 

Apache Log 확인



C:\Apache24\logs\aceess.log





7777 웹서버 포트에서 /contextroot à tomcat으로 request 호출가능해짐

서버에 접속로그떨어짐을 확인