본문 바로가기
BackEnd/Server

아파치(Apache2) + 톰캣(Tomcat8.5) JkMount로 url 구분하기

by 푸고배 2020. 3. 9.

아파치(Apache2) + 톰캣(Tomcat8.5) 연동하기 : https://doqtqu.tistory.com/103

아파치(Apache2) + 톰캣(Tomcat8.5) SSL 인증서 등록하기 : https://doqtqu.tistory.com/105


1. 아파치(Apache2) + 톰캣(Tomcat8.5)  연동 이유


앞선 게시물에서 아파치와 톰캣을 연동하고, SSL 인증서를 등록하여 웹페이지를 https로 접근할 수 있는 법을 다뤘다. 아파치의 80포트나 443포트로 접근하면, 톰캣 8009포트(ajp/1.3 프로토콜)로 연결되어 기본 8080포트가 아닌 포트(http 기본포트 80, https 기본포트 443) 생략해도 톰캣 페이지로 이동이 가능하다.


하지만, 아파치와 톰캣을 분리하는 이유 중 하나는 정적인 파일(image, html)은 아파치에 동적인 파일(jsp)은 톰캣로 분리시킴으로써 부하를 분산시킬 수 있기 때문이다.


2. JkMount & JkUnMount


아파치(Apache2) + 톰캣(Tomcat8.5) 연동하기에서 JkMount를 이용해 worker를 등록하며, 반대로 JkUnMount를 이용하면 특정 url 패턴에서 톰캣의 연동을 해제할 수 있다.


JkUnMount를 http에 적용한다면 /etc/apache2/sites-available/000-default.conf를,

https에 적용할거라면 /etc/apache2/sites-available/default-ssl.conf를 수정한다. 


JkMount /* [worker 이름] 코드 아래에 톰캣이 아닌 아파치로 이동할 경로(JkUnMount [경로] [worker 이름])를 입력해준다.


Alias [도메인 디렉토리 주소] [실제 디렉토리 주소]를 이용해 실제 경로와 도메인 경로를 연결해준다.


예시는 https연결에서 /image/~ 아래의 경로가 아파치로 연결되는 코드이다. 


JkUnMount /images/* tomcat1

Alias /images /var/www/images



그 다음 아파치를 재실행해주면 



다음 사진과 같이 /image/ 아래의 url은 아파치로 이동하며(왼쪽 이미지), 일단 url은 톰캣으로 이동하는 것(오른쪽 이미지)을 확인할 수 있다.






참고 자료 : https://opentogether.tistory.com/26


https://pikabu.tistory.com/34




반응형

댓글