IT/Server

Apache(아파치) + Tomcat(톰캣) 연동 하기

나27 2017. 11. 6. 15:02
반응형

Apache(아파치) + Tomcat(톰캣) 연동 하기

 

연동에 성공한 아파치 + 톰캣 버전


Apache 2.4.29-Win64-VC15.zip + Tomcat 8.0.47


커낵터 버전

 

mod_jk-1.2.42-win64-VC15.zip


연동하기 위해 다운받아야 할 것 -> mod_jk

 

https://www.apachelounge.com/download/


사이트에 들어가서 아파치 버전에 맞는 mod_jk를 다운받아 준다(zip 파일로)



vc 15 일 경우 스크롤을 밑으로 내려가다보면 mod_jk & isapi_redirect.dll이란 것이 있는데 윈도우 32비트/64비트를 구분하여 다운받아 주자

 

다운받으면 mod_jk.so파일이 있는데 이 파일을 apache가 설치되어있는 폴더 -> modules 폴더 안에 압축 풀어준다

 

연동하기위해 설정해야 할 파일


우선 톰캣의 server.xml 파일을 열어 Connector port를 확인


톰캣이 있는 폴더->conf->server.xml 파일을 메모장으로 연다


AJP/1.3 protocol의 내용이 있는 태그가 8009 포트인지 확인하고 맞다면 OK


 

Apache 폴더->conf 폴더->mod_jk.conf라는 conf 확장자 파일을 하나 만들어서


1
2
3
4
5
6
7
8
9
10
11
12
13
<IfModule mod_jk.c>
        JkWorkersFile "C:/Apache24/conf/workers.properties"
        JkLogFile "C:/apache-tomcat-8.0.47/logs/mod_jk.log"
        JkLogLevel info
        JkAutoAlias "C:/apache-tomcat-8.0.47/webapps"
        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>
cs

 

위와 같은 내용을 넣어준다


JkWorkersFile

JkLogFile

JkAutoAlias 이 세가지 부분은 자신이 톰캣을 깐 위치에 맞도록 수정해준다


JkWorkersFileworkers.properties 파일은 apache 폴더 -> conf 폴더 안에 만들 파일인데 미리 경로를 정해둔다고 생각하


 

apache 폴더 -> conf 폴더 -> httpd.conf 파일을 메모장으로 열어


Listen에 적혀있는 포트번호와 ServerName에 적혀있는 포트번호가 일치하는지


ServerName의 포트번호가 적혀있는 줄 앞에 #이있어서 혹시 주석처리가 되지는 않았는지


를 확인하고

 

마지막 줄에


1
2
LoadModule jk_module modules/mod_jk.so
Include conf/mod_jk.conf
cs


의 내용을 추가해준다

 

apache 폴더 -> conf 폴더 안에 workers.properties 파일 만들어준다

 

properties 확장자 파일 만드는 법

 


workers.properties 파일 안의 내용


1
2
3
4
5
6
7
workers.tomcat_home="/apache-tomcat-8.0.47"
workers.java_home="/Program Files/Java/jdk1.8.0_152"
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
cs

 

workers.tomcat_home은 톰캣이 있는 폴더로 맞춰주고

workers.java_home은 자바가 설치되어있는 폴더로 맞춰준다

  

연동되는지 확인


아파치? 톰캣? 뭐먼저 실행해야 하나?


아파치 먼저 실행 httpd -k start


톰캣 그 다음 실행 cmd에서 bin파일이 있는 곳까지 경로 이동 뒤 startup.bat


localhost로 접속하면 아파치 기본 접속 화면인 It works!가 뜨지 않고


톰캣 고양이 화면이 나오면 완료


 

확인 후 톰캣 먼저 종료 후 아파치 종료


톰캣 종료 shutdown.bat 


아파치 종료 httpd -k stop


localhost로만 접속해서 톰캣 화면이 뜨면 연동이 성공한 이유?


아파치는 기본 포트가 80이고


톰캣은 포트가 8080인데

 

연동이 되었다면

 

localhost로 접속하더라도(아파치 기본 포트번호)

 

localhost:8080(톰캣 기본 포트번호)으로 접속한 것과 같이


아파치에서 톰캣으로 화면을 보내주게되므로 연동이 되었다고 볼 수 있는 것이다

 

(아파치 화면 It works!이 뜨는 것이 아니라 톰캣의 고양이 화면이 나오게 됨)


참조


http://hellogk.tistory.com/123

반응형