Amazon Web Services

[AWS]Linux Apache + Tomcat 설치

  • -
반응형

서버 구성할때마다 매번 검색하면서 하게되니 기록을 해놔야겠다는 생각이 드네요.

설치 환경은 EC2 Amazon Linux 입니다.


1. Apache 설치

1-1. 설치 아파치 버전 확인(2.4.52)

yum list | grep httpd

 

1-2. 아파치 설치

sudo yum install httpd

 

2. Tomcat 설치

2-1. 사이트 접속 후 아래 압축 파일 링크 주소를 복사합니다.

 

2-2. 톰캣 설치

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

 

2-3. 압축해제

tar xvfz apache-tomcat-9.0.58.tar.gz

 

2-4. 폴더 이동

mv apache-tomcat-9.0.58 /home/tomcat9

 

2-5. 환경변수 등록

vi /etc/profile

 

문서 맨 아래에 추가해줍니다.

export CATALINA_HOME=/home/tomcat9

그리고 등록된 변수를 확인해봅니다.

source /etc/profile

echo $CATALINA_HOME

 

2-6. 톰캣 서비스 등록(순서대로 입력)

vim /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-7. 서비스 설정 반영

systemctl daemon-reload

 

2-8. 서비스 활성화

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

 

2-9. 서비스 시작

systemctl start tomcat

systemctl status tomcat

 

*자바가 없는 경우

자바 설치

설치 가능 jdk 리스트

sudo yum list | grep jdk

 

설치

sudo yum install java-1.8.0-openjdk

 

3. 톰캣 연동

3-1. mod_jk 설치(Apache + Tomcat 연동시 필요한 모듈)

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

 

3-3. 파일 이동

mv tomcat-connectors-1.2.48-src /usr/local/src

 

3-4. 빌드 유틸 설치

yum install autoconf

yum install libtool

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

*유틸 미설치 발생할 수 있는 에러

 

빌드 실행

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

 

3-6. Apache + Tomcat 연동을 위한 Apache 설정파일 생성

*참고로 AWS에서 아파치 기본 경로는 etc/httpd로 잡힙니다.

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 파일 수정(아래 쯤에 내용 추가)

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>

 

* 만약에 도메인별로 다른 was를 연결하고 싶다면 참고해주세요. (원하지 않는 분은 3-8로 넘어가서 진행하시면 됩니다)

더보기

먼저 3-6에서 생성한 workers.properties를 수정합니다. 두 대의 was가 같은 서버에 있다고 했을때, ajp 포트를 다르게 설정해줍니다. was1 : 8109 / was2 : 8209

만약 was가 다른 곳에 위치한다면 host 주소를 다르게 입력해줍니다. 그리고 3-8에서 Tomcat server.xml 설정시 해당 포트를 알맞게 입력합니다.

worker.list=was1,was2

worker.was1.port=8109
worker.was1.host=localhost
worker.was1.type=ajp13

worker.was2.port=8209
worker.was2.host=localhost
worker.was2.type=ajp13

conf.d 경로에 vhost.conf 라고 별도의 파일을 만들고 아래와 같이 작성합니다.

LoadModule rewrite_module modules/mod_rewrite.so

# a 블로그
<VirtualHost *:80>
  ServerName a.myblog.co.kr
  JkMount /* was1
</VirtualHost>

# b 블로그
<VirtualHost *:80>
  ServerName b.myblog.co.kr
  JkMount /* was2
</VirtualHost>

그리고 3-7의 JkMount /* was1 부분을 주석처리해줍니다. httpd.conf 안에 있는 IncludeOptional conf.d/*.conf 를 통해 새로 작성한 vhost.conf가 적용됩니다.

 

3-8. Tomcat server.xml 파일 수정

Apache + Tomcat connector 포트가 있는 부분의 주석을 풀어주고 address="0.0.0.0"로 수정합니다.

 

3-9. Apache, Tomcat 재실행 후 테스트

systemctl stop tomcat

systemctl start tomcat

sudo service httpd stop

sudo service httpd start

 

80포트 접속 시 아래와 같이 톰캣 화면이 뜬다면 성공입니다.

 

참고자료
 

(AWS) Apache(Web Server)와 Tomcat 연동하기

mod_jk로 Apache와 Tomcat 연동하기

progtrend.blogspot.com

 

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

EC2에 Tomcat을 설치 후 진행 바랍니다. AWS | EC2 Tomcat 설치 자바가 설치되어 있지 않다면 설치 후 진행 바랍니다. https://kitty-geno.tistory.com/25 설치 진행 3. 설치된 자바 버전 확인 java -version 4. j..

kitty-geno.tistory.com

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.