[Web] Apache와 Tomcat을 mod_jk로 연동하기.
- Project/iRT
- 2018. 10. 28.
Apache Tomcat 연동이유
Apache는 정적파일(html, js, 이미지 등)을 처리해주고
Tomcat은 동적파일(jsp 등)을 처리해준다.
위 그림에서 보듯이 이 둘을 연동해주면 정적파일은 Apache로 처리되고 동적파일은 Tomcat이 처리해줌으로써 클라이언트에게 퍼포먼스가 많이 향상된다.
다운로드
Mod_jk 파일 다운로드
https://www.apachelounge.com/download/
위 사이트에서 자기 아파치 버전에 맞는 mod_jk.so 파일을 다운받으면된다.
Tomcat은 아무거나 깔아도된다.
다 정상적으로 깔았고 실행되면
localhost는 아파치가 처리한 페이지가 뜨고
localhost:8080 은 톰캣이 처리한 페이지가 뜰것이다.
설정
먼저 다운받은 mod_jk를 Apache홈에있는 module 폴더에 넣어주면된다.
그리고 conf폴더에 가서
mod_jk.conf 파일과
workers.properties 파일을 만들어 주자
파일형식이 properties가 맞는지 확인하자!
workers.properties편집
worker은 mod_jk를 실행시키는 일꾼이라고 생각하면된다. 그 일꾼을 설정하는 것이다. worker.list에 여러명의 일꾼을 정할수있다. 그래서 로드밸런싱 기능을 사용이 가능하다.
그리고 그 밑에 worker.일꾼이름.port등으로 여러가지 설정을 해주면된다.
위 설정은 프로토콜은 ajp13을 사용하고 port는 8009을 사용, host는 localhost이다.
ajp는 웹서버에 들어오는 요청을 위임하는 바이너리 프로토콜이다. 즉 tomcat으로 위임을 해주는 프로토콜이라 생각하면된다.
ajp는 기본으로 8009포트를 사용한다.
mod_jk.conf 편집
JKLogFile은 로그 찍어주는 파일을 설정한것이고 뒤에는 파일명을 설정한것이다.
JKLogLevel은 로그레벨 설정인데. 그 중 info로 한것이다. log 레벨은 debug, info, error가 있다.
그 밑이 중요한데
JKWorkersFile로 workers.properties 파일위치를 정해주고
JKMount로 어떤 경로로 왔을때 특정 worker로 실행시킬수 있다. 뒤에 /* test로 써있으므로 모든 경로로 오는 것은 test가 처리하게 해주는것이다.
사실상 이 둘이 가장 중요하므로 이것만 설정해줘도 돌아가는데는 상관없을거 같다. 하지만수준높은 개발자가 되고싶다면 로그를 중요시하자.
httpd.conf 편집
httpd.conf 파일에서 mod_jk를 LoadModule에 추가를 하고.
맨밑으로 이동해서 jk_module을 정의해준다. 그리고 Apache를 다시 시작해주면 된다.
테스트
URL에 localhost를 치면 아파치가 처리한 정적파일이 나올것이다.
URL에 localhost/docs 를 치면 Tomcat docs창이 뜰것이다. 즉 동적파일을 처리해준것이다.
그림출처 : http://f10024.tistory.com/7
'Project > iRT' 카테고리의 다른 글
[AWS] EC2 Windows 2016 이전 버전 비밀번호 변경(초기화) 방법 (0) | 2019.08.01 |
---|---|
[AWS] EC2 Window 2012 Server 인스턴스 생성 후 고정 IP 할당방법 (0) | 2019.07.31 |
[Oracle] 날짜 검색방법(자료형변환 Between사용방법)및 주의사항 (2) | 2019.07.25 |
[Oracle] Data Dictionary(데이터 사전) Table 정의와 활용법과 꿀팁 (0) | 2019.07.12 |
[Apache] localhost만치면 어떻게 It works가 나올까? (2) | 2018.11.09 |