본문 바로가기
프로그램 활용/웹서버

AJP

by 3604 2023. 10. 24.
728x90

출처: https://gaebaldiary.tistory.com/33

AJP

AJP는 웹서버(Apache)에서 요청되는 것을 WAS에서 들어오는 요청을 위임하는 프로토콜 입니다.

웹 WAS를 구축하는 사람들은 AJP를 통해 웹서버로부터의 오는 요청들을 로드 밸런스 역할로 이용합니다.

 

예를 들어 TOMCAT SERVER.XML에서 AJP를 사용해 각 PORT에 맞는것을 요청해 어떤 PORT로 들어오면 이 WAS를 탈 수 있게 해줍니다.

 

Tomcat Server.xml 예시

위에 사진은 웹서버에서 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로 접속을 하게 되어 실행되게 됩니다.

 

웹 서버를 구축하면서 가장 중요시 되는 개념들을 차근차근 정리하고 있습니다.

해당사항이 도움이 됐을지는 모르겠지만 저또한 배우면서 진행중이라 계속하여 포스팅하고 포스팅 된 글에서 수정을 하도록 하겠습니다.

728x90