[Apache] Apache, Tomcat 연동하기
Apache와 Tomcat을 연동하기 위해서는 mod_jk 라는 모듈이 필요하다
해당 모듈은 apachelounge 에서 다운로드가 가능하다.
다운로드를 진행 한 후 해당 파일의 압축을 풀게되면 mod_jk.so 파일이 존재하는데
해당 파일을 Apache 폴더의 modules 안에 넣어주도록 하자
이렇게 넣어준 후 C:\Apache24\conf 로 이동하여 설정을 추가하도록 하자
-- 새로 추가해야할 파일
>> mod_jk.conf
>> workers.properties
-- 추가 수정이 필요한 파일
>> httpd.conf - httpd.conf 맨 하단에 해당 내용을 추가해준다.
이렇게 설정을 해준 후
Apache 와 Tomcat을 실행시킨 후 정상적으로 연동이 되었는지를 확인해 보자
정상적으로 연동이 되었으면 모두 정상적으로 실행이 되어야 한다.
>> localhost:80/go.do // Apache에 요청
>> localhost:8080/go.do // Tomcat에 요청
정상적으로 실행되는 것을 확인 할 수 있다.
그렇다면 Apache를 종료 한 후 실행시켜 보도록 하자
>> localhost/go.do 로 호출한 요청은 사이트에 연결할수 없음 이 뜨는것을 확인할 수 있다.
즉 사용자의 요청은 아파치로 이동하고 해당 요청은 httpd.conf에서
JKMount 로 /*.do , /*.jsp 요청은 Tomcat이 처리하도록 지정해 주고 있다.
즉 JKMount에 Tomcat이 처리해야 하는 요청을 기입 해주면된다. 그러면 해당 요청은 Apache가 Tomcat에게 전달한다.
Request -> Apache -> Tomcat -> Apache -> Client
또한 해당 프로젝트에서 정적인 파일 즉 css, js, html 등을 Apache가 처리할 수 있도록 경로를 잡아줘야 하는데
경로는 httpd.conf 에서 Document Root 를 해당 프로젝트의 resource 폴더 또는 정적인 파일을 관리하는 폴더로 지정해 줘야한다.
지정해줄 폴더의 루트는 다음과 같다
~~~~~/apachetomcat/src/main/webapp/resources/apache 가 된다. 해당 주소를
httpd.conf 파일에서 해당 부분을 다음과 같이 변경해준다. 그러면 Apache는 정적 파일의 Root를 다음과 같은
경로로 잡게 된다.
경로를 잡고 다음과 같이
localhost/apache.html 을 실행 시키면
~/apachetomcat/src/main/webapp/resources/apache 의 경로에 있는 apache.html 파일이 실행된다.
만약에 다음과 같이 Root 경로에서 폴더를 생성하여 JS, CSS 파일을 따로 관리할 경우는 어떻게 될까
localhost/css/folder1/ ~~~~ 이렇게 사용해야 될텐데 경로를 그떄마다 적어주기 보다는 해당 경로를 별칭으로 정하여 사용해주면 된다. 별칭을 정할떄는 httpd.conf 파일에 설정하여 형식은
Alias /별칭 "별칭으로 정할 주소"
>> 해당 별칭을 정한 후 localhost/alias1/holl.html 을 통해서 해당 파일을 실행시킬수 있다.
>> 원래는 localhost/css/folder1/holl.html 으로 경로를 써줘야 하나 별칭을 통해서 /css/folder1 을 생략하여 나타낼 수 있다.
Apache와 Tomcat을 연동하여 화면을 출력해봤는데 어떻게 사용해야 더 효율적일지는 사용해보면서 익숙해져야 할 것같다.