[실행환경]

CentOS Linux release 7.9.2009 (Core)

openjdk version "11.0.19" 2023-04-18 LTS

Apache 2.4.6

Tomcat 10.1.15


1. 톰캣 홈페이지에서 다운로드 링크를 복사하고, 원하는 위치에 wget으로 다운로드 한다.

다운 받은 후, 압축을 풀고 원하는 수량 만큼 인스턴스를 압축해제 한다.

wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.15/bin/apache-tomcat-10.1.15.tar.gz

 

2. 필요한 패키지 다운로드

※ apache 소스설치를 했다면,  httpd-devel(=apxs)를 빼고 yum설치를 해야한다.

# 아파치를 yum 설치했을 때
yum install java-11-openjdk.x86_64 autoconf libtool httpd-devel

# 아파치를 소스설치 했을 때
yum install java-11-openjdk.x86_64 autoconf libtool

* 톰캣 10.1버전은 지원되는 자바 버전이 11이상이다. → 톰캣 홈페이지 참고(https://tomcat.apache.org/whichversion.html)

 

3. 톰캣 홈페이지에서 커넥터 다운로드, 다운 받은 파일 압축해제 & mod_jk 컴파일 설치를 진행한다.

wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.49-src.tar.gz
# 톰캣 connector 디렉토리로 이동
cd tomcat-connectors-1.2.49-src

# native 디렉토리로 이동
cd native

# 컴파일 설치 진행
# apxs 경로를 알 수 없다고 나올 경우, whereis apxs로 확인 필요
# 아파치를 소스설치 한 경우, apxs 경로 확인 필요!!!!!
# apxs 경로 예시) /usr/local/src/httpd-2.4.57/bin/apxs
./configure --with-apxs=/usr/bin/apxs

make && make install

# mod_jk.so 파일이 정상적으로 설치 된 것인지 확인한다.
# find 명령어로 검색되지 않으면 제대로 설치 되지 않은 것
find / -name "mod_jk.so"

# apache를 소스설치 한 경우, mod_jk.so 파일을 소스설치 경로로 복사해준다.
cp -arp mod_jk.so /usr/local/src/httpd-2.4.57/modules

make install 진행 후, /usr/lib64/httpd/modules경로에 mod_jk.so가 있으면 정상적으로 진행 된 것이다.

 

※  configure: error: You must specify a valid --with-apxs path → 에러 발생시 처리방법(RHEL 8 에서 발생)

- 아파치 소스설치한 경로로 이동

- apxs 파일을 열어서 1번 줄 문장을 아래와 같이 수정해주면 해결된다.

vi /usr/local/src/httpd-2.4.57/bin/apxs

# apxs 파일의 1번줄 기존 내용
#!/replace/with/path/to/perl/interpreter -w

# apxs 파일의 1번줄 내용을 아래와 같이 바꿔준다.
#!/usr/bin/perl

 

4. 아파치 - 톰캣 연동 진행

 

1) Apache conf 파일에서 내용 추가한다.

LoadModule jk_module modules/mod_jk.so

<VirtualHost *:80>	
	JkMount /* balancer
</VirtualHost>
 
<ifModule jk_module>
        JkWorkersFile conf/workers.properties

        JkShmFile logs/mod_jk.shm
        JkLogFile logs/mod_jk.log

        JkLogLevel error

        JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
</ifModule>

 

2) workers.properties 내용을 아래와 같이 추가한다.

vi workers.properties

# worker list
worker.list=balancer

# balancer
worker.balancer.type=lb
worker.balancer.balance_workers=tomcat1

# tomcat1
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13

 

3) 톰캣 server.xml 파일에서 AJP 포트 활성화

address="0.0.0.0"  secretRequired="false" 를 넣지 않으면 정상작동 하지 않으니 주의!!!

(중략)
    <Connector protocol="AJP/1.3"
               address="0.0.0.0"
               secretRequired="false"
               port="8009"
               redirectPort="8443"
               maxParameterCount="1000"
               />
(중략)

 

1) 톰캣을 start한다.

/home/tomcat-test1/bin/startup.sh

* 톰캣 중지는 bin/shutdown.sh 이다.

 

 

2) 톰캣 포트가 올라왔는지 확인한다.(디폴트 상태라면 8080포트가 LISTEN상태다.)

 

3) 브라우저로 80포트 접근시 톰캣 그림 출력 된다면, 정상적으로 아파치-톰캣 연동 완료

+ Recent posts