본문 바로가기

운영체제/리눅스[Linux]

[ Kali리눅스 ] 아파치 톰캣 연동하기 | apache | tomcat | mod_jk

"아파치와 톰캣을 연동"하는 방법에 대해 알아보겠습니다.


먼저, 아파치와 톰캣에 대해서 알아보겠습니다.



아파치(Apache)란 무엇인가?


1995년 처음 발표된 월드와이드웹(WWW:World Wide Web) 서버용 소프트웨어로 오픈 소스 소프트웨어 그룹인 아파치 소프트웨어 재단에서 만드는 서버프로그램이다. 팀 버너스 리가 만든 최초의 웹 서버 프로그램인 "NCSA HTTPd"를 기반으로 만들어졌다. 모듈 기능을 추가 변경할 수 있기 때문에 확장성이 높고 신속하게 처리할 수 있어 각 분야에 널리 사용되고 있다.




톰캣(Tomcat)이란 무엇인가?


아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버이다. 톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. 톰캣은 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있다. 그리고, 톰캣은 HTTP 서버도 자체 내장하기도 한다.





그렇다면 왜 아파치와 톰캣을 서로 연동할까?




✎아파치와 톰캣을 연동하는 이유




 아파치는 이미지나 단순 HTML 파일 같은 정적인 데이터 처리를 하며, 또 호환성이 높고 다양한 모듈이 많지만, JSP나 PHP같은 응용 프로그래밍 언어를 해석할 수 없다. 이때문에 서버 사이드 언어를 처리할 수 있는 톰캣을 이용해야한다. 톰캣은 자바코드를 이용해서 HTML페이지를 동적으로 생성해준다. 정리하자면, 정적인 데이터를 처리할때는 아파치의 성능이 더 좋아서, image나 CSS같은 정적인 데이터는 아파치에서 처리하고 톰캣은 동적 페이시 생성에 주력하는게 훨씬 효율적이다. 


 실제 프로그램 개발 운영 시엔 HTML, image, CSS 파일의 처리는 아파치가, 각 DB연동 및 JSP 파일 처리는 톰캣에 넘겨 효율적으로 이용할 수 있다.




연동을 해야되는 이유도 알아보았고, 이제는 아파치와 톰캣을 서로 연동을 해보겠습니다.




(1) 아파치 설치하기 (기존에 설치되어있다면, 삭제 후 재설치)


# sudo apt-get install apache2




설치가 완료되었다면, 아파치 데몬을 재시작해줍니다.


# /etc/init.d/apache2 restart




웹 창에 http://localhost 입력 후 이동해준 후 다음과 같은 창이 뜨는지 확인합니다.



정상적으로 설치되었고 작동되는 것을 확인할 수 있습니다.




(2) 톰캣 설치하기 (Tomcat8버전 설치)


# sudo apt-get install tomcat8




설치가 완료되었다면, 톰캣 데몬을 재시작해줍니다.


# /etc/init.d/tomcat8 restart



웹 창에 http://localhost:8080 입력 후 이동해준 후 다음과 같은 창이 뜨는지 확인합니다.



톰캣역시 정상적으로 설치되었고 작동되는 것을 확인할 수 있습니다.




(3) 연동을 위한 mod_jk 패키지 설치 및 설정


아파치와 톰캣을 연동하기위한 커낵터를 설치해준다.


# sudo apt-get install libapache2-mod-jk




workers.properties 파일을 만들어야되지만, 이미 설정되어있으므로 확인만하고 넘어가자

# vi /etc/libapache2-mod-jk/workers.properties




jk.conf 파일로 들어가 JkWorkersFile 경로가 /etc/libapache2-mod-jk/workers.properties로 되어있음을 확인만하고 넘어가자

# vi /etc/apache2/mods-available/jk.conf


이제적용할 톰캣의 URL을 설정해준다.

# vi /etc/apache2/sites-enabled/000-default.conf

아래 파일에 JkMount /* ajp13_worker 구문을 추가해준다.



마지막으로 tomcat의 server.xml파일을 수정해준다.

# vi /etc/tomcat8/server.xml

본문 내용 중 아래로 내려가보면 아래 내용이 주석이 되어있는데, 이 주석을 제거해 줍니다.





설정 후 아파치 & 톰캣 데몬 재시작을 합니다.


# /etc/init.d/apache2 restart

# /etc/init.d/tomcat8 restart




(4) 설정완료 및 확인


위 파일 설정까지 마무리했으면, 톰캣과 아파치 연동은 성공적으로 되었습니다.


이제 정상적으로 됬는지 확인을 해봅시다.


인터넷 URL에 http://localhost 와 http://localhost:8080 둘다 아파치 파일인 index.html 을 나타내면 연동이 성공적으로 완료되었습니다.





여기 까지 아파치 톰캣을 연동하였습니다.