AJP
AJP는 웹서버(Apache)에서 요청되는 것을 WAS에서 들어오는 요청을 위임하는 프로토콜 입니다.
웹 WAS를 구축하는 사람들은 AJP를 통해 웹서버로부터의 오는 요청들을 로드 밸런스 역할로 이용합니다.
예를 들어 TOMCAT SERVER.XML에서 AJP를 사용해 각 PORT에 맞는것을 요청해 어떤 PORT로 들어오면 이 WAS를 탈 수 있게 해줍니다.
위에 사진은 웹서버에서 7019로 들어온 Port를 이 server.xml로 설정된 TOMCAT(WAS)에서 받는 예시입니다.
위에 AJP를 사용하기 전 아파치(웹) 서버에서 톰캣으로 보내기 위해 mod_jk라는 모듈을 사용합니다.
왜 굳이 웹 서버와 WAS를 나뉘어서 설정을 하는지에 대해서는 아래 포스팅을 보시면 이해가 되실것이라 생각합니다.
아래 URL에서 확인하시면 됩니다.
URL : (gaebaldiary.tistory.com/27)
mod_jk
그렇다면 mod_jk는 무엇인가에 대해 알아보도록 하겠습니다.
1. 사용자가 아파치 웹 서버에 접속 Request를 보냅니다.
2. 웹 서버는 맞는 URL과 PORT를 점검한 후 WAS로 보냅니다. (mod_jk역할)
3. 해당 WAS에 설정되어 있는 AJP포트에 맞는 것을 받아 해당 WAS에 소스를 실행합니다.
즉 mod_jk는 (APACHE)WEB 서버와 (TOMCAT)WAS를 연결해주는 중간역할 및 로드밸런스 역할을 해준다고 생각하면 됩니다. 그리하여 웹 서버하나로 다중의 WAS를 구현할 수 있게 해주는 프로토콜 입니다.
mod_jk 설정방법
아래는 해당 mod_jk 설정방법을 간략하게 설명했습니다.
아파치 웹 서버의 httpd.conf에 property로 정리해둔 파일을 include 해주어 아래와 같이 property에 코딩을 해줍니다.
그리고 어떤 url에 따라서 worker3으로 갈지도 설정을 해줍니다.
EX) /*.do = worker3
그렇다면 해당 URL로 접속 시 AJP포트 7019에 접속을 하여 Tomcat Server.xml 예시에 있는 WAS로 접속을 하게 되어 실행되게 됩니다.
웹 서버를 구축하면서 가장 중요시 되는 개념들을 차근차근 정리하고 있습니다.
해당사항이 도움이 됐을지는 모르겠지만 저또한 배우면서 진행중이라 계속하여 포스팅하고 포스팅 된 글에서 수정을 하도록 하겠습니다.