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 호출가능해짐
서버에 접속로그떨어짐을 확인