▼ DevOps/AWS

AWS | EC2 Apache(아파치) 설치 및 Tomcat(톰캣) 연동

Valar 2021. 7. 14. 19:15
반응형

 

EC2에 Tomcat을 설치 후 진행 바랍니다.

 

AWS | EC2 Tomcat 설치

자바가 설치되어 있지 않다면 설치 후 진행 바랍니다. https://kitty-geno.tistory.com/25 설치 진행 3. 설치된 자바 버전 확인 java -version 4. javac 설치.." data-og-host="kitty-geno.tistory.com" data-og-s..

kitty-geno.tistory.com

 


▶ 구축 환경

EC2 Linux AMI (CentOS),  Java 1.8,  Apache,  Tomcat 9.0.43

 

1. 웹서버 설치

 

yum update
yum install httpd

 

 

2. tomcat-connector(mod_jk) 설치

Web server와 Tomcat을 연동시키기 위해 tomcat-connector를 설치해준다.
공식 사이트의 최신 버전의 다운로드 링크를 복사하여 설치해도 된다.

tomcat.apache.org/download-connectors.cgi

 

 

 

2-1) 의존성 주입

wget -c 복사한 링크 주소

 

wget -c http://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz

 

 

2-2) 압축 풀기 및 폴더 이동

 

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

 

 

2-3) 빌드 필수 유틸 설치

 

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

 

 

해당 위치로 이동 후 cd /usr/local/src/tomcat-connectors-1.2.46-src/native/
빌드 ./buildconf.sh 한다.

 

cd /usr/local/src/tomcat-connectors-1.2.46-src/native/
./buildconf.sh

 


configure) apxs 가 설치된 경로를 찾아 연결한다.

./configure --with-apxs=/usr/bin/apxs

 

 


make
make install

 

 

2-4) mod_jk 파일 확인

 

ls /etc/httpd/modules/ | grep mod_jk

 

 

 

3. 아래 3개의 파일을 수정한다.

httpd.conf
workers.properties
server.xml

 

3-1) httpd.conf

 

vi /etc/httpd/conf/httpd.conf

 

마지막 라인에 아래 내용 추가

 

# (추가) START

LoadModule jk_module modules/mod_jk.so

<IfModule mod_jk.c>
  # 워커 설정파일 위치
  JkWorkersFile conf/workers.properties

  # 공유 메모리파일 위치 반드시 Selinux 보안때문에 run에 위치 필수
  JkShmFile run/mod_jk.shm

  # log 위치
  JkLogFile logs/mod_jk.log

  # 로그레벨 설정 JkLogLevel info # 로그 포맷에 사용할 시간 형식을 지정한다.
  JkLogStampFormat "[%y %m %d %H:%M:%S] "
</IfModule>

<VirtualHost *:80>
  # 웹 소스 경로 설정
  DocumentRoot /home/ven-project/podo/users/www

  # Mount 설정
  JkMount /* tomcat

  # Unmonut 설정
  JkUnmount /common/* tomcat

  # 도메인 설정
  ServerName www.podo-sample.kr

  <Directory "/home/ven-project/podo/users/www">
      Order allow,deny
         Allow from all Options
         FollowSymLinks
         AllowOverride All
       Require all granted
   </Directory>
</VirtualHost>

# (추가) END

 

 

3-2) workers.properties

vi /etc/httpd/conf/workers.properties
해당 파일이 경로에 없으면 빈 텍스트 파일을 생성하여 작성한다.

httpd.conf 가상 호스트 설정에 JkMount /* tomcat 부분이 workers에 이름으로 작성된다.

8009 포트 설정은 웹서버에서 AJP 통신 포트로 연결되어 요청을 Tomcat으로 보내주는 역할을 한다. 

 

worker.list=tomcat
worker.tomcat.port=8009
worker.tomcat.host=www.podo-sample.kr
worker.tomcat.type=ajp13

 

 

3-3) server.xml

 

<Connector protocol="AJP/1.3"
               address="0.0.0.0"
               port="8009"
               secretRequired="false"
               redirectPort="8443" />

<Host name="www.podo-sample.kr" appBase="/home/ven-project/podo/users/webapps" unpackWARs="true" autoDeploy="true">
   <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>

 

※ EC2 인스턴스 보안 인바운드 규칙에 해당 포트(80, 8009)가 추가되어 있어야 한다.
반응형