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을 연동하는 방법을 알아보았습니다. 여러분의 웹 애플리케이션을 효과적으로 운영하기 위해 이 과정을 통해 더 많은 지식을 쌓아가길 바랍니다. 질문이나 피드백은 언제든지 댓글로 남겨주세요!
'개발' 카테고리의 다른 글
AWS EC2에서 시스템 시간을 한국 표준시로 변경하는 방법 안내 (0) | 2024.11.13 |
---|---|
AWS Route 53과 가비아 도메인 연결하는 완벽 가이드 (1) | 2024.11.13 |
CentOS에서 MySQL 8 설치하는 완벽 가이드 (2) | 2024.11.13 |
CentOS 7 설치 가이드: VirtualBox를 활용한 리눅스 환경 구성 방법 (1) | 2024.11.13 |
세션 클러스터링을 통한 Apache와 Tomcat의 고가용성 웹 애플리케이션 구축 방법 (1) | 2024.11.13 |