본문 바로가기
개발

AWS 환경에서 Apache와 Tomcat 연동하는 설치 및 설정 방법 안내

by 닉네임 입니다 2024. 11. 13.
728x90

AWS에서 Apache와 Tomcat 연동하기: 설치 및 설정 가이드

안녕하세요! 오늘은 AWS 환경에서 Apache와 Tomcat을 연동하는 방법을 알아보겠습니다. 많은 개발자들이 웹 애플리케이션을 구축할 때 Apache와 Tomcat을 함께 사용하곤 하는데요, 각자의 역할이 명확하기 때문에 연동하게 되면 좋은 효율을 낼 수 있습니다. 그럼 시작해볼까요?

설치 환경

이번 실험은 EC2의 Amazon Linux 환경에서 진행됩니다. 이곳에서는 Apache 웹 서버와 Tomcat 애플리케이션 서버가 어떤 식으로 설치되고 설정되는지를 다룰 것입니다.

1. Apache 설치하기

첫 번째 단계는 Apache를 설치하는 것입니다. 설치를 시작하기 전에 현재 설치된 Apache의 버전을 확인해 보겠습니다.

1-1. Apache 버전 확인

yum list | grep httpd

1-2. Apache 설치

다음 명령어로 Apache를 손쉽게 설치할 수 있습니다.

sudo yum install httpd

2. Tomcat 설치하기

Tomcat 설치는 Apache 설치보다 조금 더 많은 과정이 필요합니다. Tomcat의 최신 버전 다운로드 링크를 준비하는 것이 중요합니다.

2-1. Tomcat 다운로드

Tomcat 다운로드 페이지에서 압축 파일 링크를 복사한 후, 아래의 명령으로 다운로드합니다.

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.58/bin/apache-tomcat-9.0.58.tar.gz

2-2. 압축 해제

다운로드한 파일의 압축을 해제합니다.

tar xvfz apache-tomcat-9.0.58.tar.gz

2-3. 폴더 이동

압축을 해제한 Tomcat 폴더를 이동합니다.

mv apache-tomcat-9.0.58 /home/tomcat9

2-4. 환경 변수 등록

Tomcat 환경 변수를 등록하면 편리하게 사용할 수 있습니다.

vi /etc/profile

문서 맨 아래에 다음 몇 줄을 추가하세요.

export CATALINA_HOME=/home/tomcat9

변수가 잘 등록되었는지 확인합니다.

source /etc/profile
echo $CATALINA_HOME

2-5. Tomcat 서비스 등록

Tomcat을 서비스로 등록하면 서버 재부팅 후에도 자동으로 시작할 수 있습니다. 다음 내용을 /usr/lib/systemd/system/tomcat.service에 입력해 주세요.

[Unit]
Description=tomcat9
After=network.target syslog.target

[Service]
Type=forking

User=root
Group=root

ExecStart=/home/tomcat9/bin/startup.sh
ExecStop=/home/tomcat9/bin/shutdown.sh

UMask=0007

[Install]
WantedBy=multi-user.target

2-6. 서비스 설정 반영

서비스 설정을 반영하려면 다음 명령어를 사용하세요.

systemctl daemon-reload

2-7. 서비스 활성화 및 시작

Tomcat 서비스를 활성화하고 시작합니다.

systemctl enable /usr/lib/systemd/system/tomcat.service
systemctl start tomcat
systemctl status tomcat

3. Apache와 Tomcat 연동하기

서버 간 연동을 위해 mod_jk를 설치하겠습니다. 이는 Apache와 Tomcat 간의 통신을 가능하게 해주는 유용한 모듈입니다.

3-1. mod_jk 설치

먼저, mod_jk 소스를 다운로드합니다.

wget -c  https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

3-2. 압축 해제 및 이동

압축 파일을 해제하고 필요한 파일을 이동합니다.

tar xvf tomcat-connectors-1.2.48-src.tar.gz
mv tomcat-connectors-1.2.48-src /usr/local/src

3-3. 빌드 유틸 설치

빌드를 위해 필요한 유틸들을 설치합니다.

yum install autoconf
yum install libtool
yum -y install gcc gcc-c++ httpd-devel

3-4. 빌드 실행

cd /usr/local/src/tomcat-connectors-1.2.48-src/native 
./buildconf.sh
./configure --with-apxs=/usr/bin/apxs
make
make install

3-5. 설치 확인 및 설정

다음 명령어로 mod_jk의 설치가 잘 되었는지 확인합니다.

cd /etc/httpd/modules
ls

Apache와 Tomcat 설정을 위해 두 개의 설정 파일을 수정할 것입니다. 첫 번째는 workers.properties입니다.

3-6. workers.properties 생성

cd /etc/httpd/conf
vim workers.properties

다음 내용을 입력하세요.

worker.list=was1
worker.was1.port=8009
worker.was1.host=localhost
worker.was1.type=ajp13

3-7. httpd.conf 파일 수정

Apache 설정 파일에 다음 내용을 추가합니다.

vim httpd.conf
LoadModule jk_module modules/mod_jk.so

<IfModule mod_jk.c>
  JkWorkersFile conf/workers.properties
  JkLogFile logs/mod_jk.log
  JkLogStampFormat "[%y %m %d %H:%M:%S]"
  JkMount /* was1
</IfModule>

4. 재실행 및 확인

마지막으로, Apache와 Tomcat의 설정을 재실행하여 모든 것이 올바르게 동작하도록 합니다.

systemctl restart tomcat
sudo service httpd restart

성공 확인

웹 브라우저에서 서버의 IP 주소를 입력하여 Tomcat의 초기 화면이 나타나는지 확인합니다. 만약 화면이 뜨면 연동이 성공적으로 완료된 것입니다!

마무리

이번 포스트에서는 AWS EC2 환경에서 Apache와 Tomcat을 연동하는 방법을 알아보았습니다. 여러분의 웹 애플리케이션을 효과적으로 운영하기 위해 이 과정을 통해 더 많은 지식을 쌓아가길 바랍니다. 질문이나 피드백은 언제든지 댓글로 남겨주세요!

728x90