본문 바로가기

코딩탐방기

[서버탐방기] "아파치-톰캣 연동하기 mod_jk사용"

728x90
반응형

 

사실 그동안 아파치와 톰캣이 뭐가 다른지 정확하게 알지 못했다.

항상 이클립스에 서버잡으면서 아파치톰캣 버전정도만 신경썼던 거 같다...;;

그런데 이번에 centOs에 서버를 잡게 되면서 제대로 공부할 기회가 생김

일단 간단하게 이해한 바를 정리하자면 

아파치는 정적인 파일을 처리해준다면 톰캣은 동적인 파일을 처리해준다.

정적인 파일이란 html, css등을 뜻하고 동적인 파일이란 jsp 같은 파일을 말한다.

아파치랑 톰캣은 같이 쓸수도 그렇지 않을 수도 있다.

보통 간단하게 html 파일 정도만 보여준다면 톰캣은 필요없는 것이다.

하지만 대부분 db를 조회하고 동적인 처리가 필요하다면 그땐 톰캣이 필요하다

그럼 여기서 아파치와 톰캣을 같이 쓸 경우

둘을 연동해야 하는데 그것을 도와주는 모듈이 바로 mod_jk !!

둘을 연동하는 방법은 3가지가 있다고 하는데

좀 구식이라고 하지만 가장 구글에 정보가 많은 mod_jk(tomcat connector)를 사용하겠다

리눅스서버를 잡는 것이므로 리눅스 버전의 파일을 다운로드 하자!

(https://tomcat.apache.org/download-connectors.cgi)

커멘드창에서 wget을 이용해도 되지만 filezila를 사용하는 게 훨씬 편해서 난 파일질라를 사용함

pc에서 다운받은 파일을 파일질라를 사용해 드래그해준다

경로는 톰캣을 설치한 경로에 넣어줬다

난 /data 안에 설치했으므로 tomcat8 폴더 옆에 사뿐히 들어간 tomcat-connectors-1.2.48-src폴더 ㅎㅎ

pc에서 압축을 풀어서 넣어도 되고 커멘드 창에서 tar xvfz tomcat-connectors-1.2.48-src.tar.gz

압축을 풀어도 됨!

그러고 나면 이제 파일 2개를 생성해야 한다

uriworkermap.poperties

workers.properties

난 모두 파일질라에서 생성했다 

vi로 만들기 너무 불편쓰 ㅠㅠ

 

workers.properties  uriworkermap.poperties  

두 파일 경로를 확인해주고

 

mod_jk.conf

그리고 mod_jk.conf의 경로를 체크해준다

그런데..

아파치 서버에서 계속 jsp파일을 톰캣으로 넘겨주지 못하고 에러가 났음

mod_jk.log 파일을 보니 Could not find worker with name 'worker1' in uri map post processing.

mod_jk의 worker1을 찾지 못한다니...!!

문제는 httpd.conf였는데 

원래 파일 자체에 IncludeOptional conf.d/*.conf였는데 

내 mod_jk.conf 파일은 경로가 conf/ 였었음..

그래서 하단에 Include conf/mod_jk.conf를 추가했더니 jsp파일안 자바코드("<%=코드 %>")가 제대로 동작했다!

휴.. 참 쉽지 않았던 서버설치였다

그리고 conf파일들을 수정할 때 마다 아파치 또는 톰캣을 재실행해야 하는데

systemctl restart httpd (아파치 재실행)

systemctl restart tomcat8 (톰캣 재실행)

을 편하게 쓰면 된다!

728x90
반응형