OS

2022.02.16 14:35

apache / tomcat 연동처리 (mod_jk)

  • 비아웹 오래 전 2022.02.16 14:35 인기
  • 4,906
    0

CentOS 7 환경에서 apache 와 tomcat 연동하는 방법에 대해 기록합니다.

 

1. 테스트 환경

OS : CentOS Linux release 7.9.2009 (Core)

IP : 192.168.80.128 (사설 네트워크 환경에서 테스트)


 

2. httpd / java / tomat 설치 (rpm을 이용하여 설치합니다.)

[root@viaweb /]# yum install httpd httpd-devel java tomcat

httpd-devel 의 경우 mod_jk 모듈 컴파일을 위해 설치합니다.

설치된 패키지 버전 정보

tomcat-7.0.76 httpd-2.4.6-97 java-1.8.0

3. 기본 설정

apache / tomcat 모두 /home/httpd/html 을 documentroot 로 설정

 

a. apache 환경 설정은 패스하도록 하겠습니다.

 

b. tomcat documentroot 변경을 위한 설정 파일 위치

/etc/tomcat/server.xml

 

before 

  <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

after

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/home/httpd/html" reloadable="true"/>

c. index.html 페이지는 알아서 ~~

d. index.jsp 페이지 예제

<html>
<head>
<meta charset="UTF-8">
<title>viaweb tomcat jsp test page</title>
</head>
<body>
<H2> httpd://viaweb.co.kr </H2>
 
<%@ page import="java.util.Date"%> This time is :<%=newDate().toString()%>
</body>
</html>

단순한 현재 시간 표시 소스입니다.

4. 서비스 재시작을 통한 웹 접속 확인

a. apache 접속 테스트 : http://서버IP/

apache 정상 동작

 

b. tomcat 접속 테스트 : http://서버IP:8080/

directory index 가 index.html 우선이라 apache 와 동일 결과 출력

 

c. tomcat 접속 테스트 2 : http://서버IP:8080/index.jsp

정상적인 jsp 페이지 확인

 

5. mod_jk 설치

a. 소스 다운 로드 (설치 기준일 현재 최신 버전)

[root@viaweb /]# wget https://downloads.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

b. 컴파일 (압축해제 후 진행하세요)

[root@viaweb /]# cd tomcat-connectors-1.2.48-src/native ./configure --with-apxs=/usr/bin/apxs ./make ./make install

c. 모듈 확인

6. mod_jk 환경 설정

a. mod_jk.conf

[root@viaweb /]# vi /etc/httpd/conf.d/mod_jk.conf LoadModule jk_module modules/mod_jk.so <IfModule jk_module> # work properties JkWorkersFile conf.d/workers.properties # log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JK error log JkLogFile logs/mod_jk.log # JK log level JkLogLevel debug # JK shared memory file JkShmFile logs/mod_jk.shm # define the name of the file here. JkMountFile conf.d/uri-work.properties </IfModule>

workers.properties : tomcat 서버 정의 파일

uri-work.properties : tomcat 에 연동할 확장자 정의 파일

b. workers.properties

[root@viaweb /]# vi workers.properties worker.list=tomcat1 worker.tomcat1.port=8009 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13

tomcat을 tomcat1 로 네이밍하고, 해당 tomcat1에 대한 접속 포트, 호스트, type 을 정의합니다.

c. uri-work.properties

[root@viaweb /]# vi uri-work.properties ## extension to tomcat /*.do=tomcat1 /*.jsp=tomcat1

do, jsp 확장자에 대한 파일은 위에서 네이밍된 tomcat1 에서 처리하도록 설정합니다.

서버 한대에 다수의 tomcat 을 포트를 다르게 구동할 경우, 로드발란스 기능 및 서버 별 개별 확장자 처리하도록 처리 가능합니다.

7. apache tomcat 연동 확인

테스트 방법 :apache 재시작 이후

http://서버IP/index.jsp

http://서버IP:8080 형식이 아닌, http://서버IP/ 으로 접속시에도 jsp 확장자가 정상 처리되는 것이 확인되었습니다.

위의 내용은 apache 와 tomcat 연동을 mod_jk 로 했을 경우에 페이지 연동 확인을 위해 진행되었습니다.

감사합니다.

서버호스팅 비아웹

  • 공유링크 복사

    댓글목록

    등록된 댓글이 없습니다.