Web Application Server/Apache Tomcat

○ Apache Tomcat 가이드 - 설치부터 서비스 등록까지

심심한 낙지 2020. 7. 6. 15:24

POOPOO: 배변 일기 앱

SMALL

 

이 포스팅은 CentOS 7 버전에서 진행되었습니다.


목차


설치하기

 

OPEN JDK 설치하기

Apache Tomcat을 설치하기 위해서는 우선 JDK(Java Development Kit)를 설치해야합니다. 일반적으로, JDK는 유료입니다.

따라서, 무료로 제공되고 있는 OPEN JDK 라는 것을 사용해야합니다.

차이점은 OPEN JDK는 Java 버전이 1.8까지만 제공되어있고, JDK는 최신버전(11.0 이상)을 이용할 수 있습니다.

저희는 어디까지나 Apache Tomcat을 실행하기 위한 용도로 설치하는 것이기 때문에, JDK의 최신버전의 기능을 사용할 필요가 없습니다.

그러므로 OPEN JDK 1.8 버전을 사용해보도록 하겠습니다.

아래와 같이 명령어를 입력하시면 OPEN JDK 1.8 버전을 설치하실 수 있습니다.

# yum install -y java-1.8.0-openjdk-devel

 

 

OPEN JDK 환경변수 등록하기

우선 JAVA_HOME / JRE_HOME 경로를 찾아보겠습니다.

# 1. JAVA_HOME 경로찾기
# find / -name java-1.8.0-openjdk

[결과]
/usr/lib/jvm/java-1.8.0-openjdk


# 2. JRE_HOME 경로 찾기
# find / -name jre-1.8.0-openjdk

[결과]
/usr/lib/jvm/jre-1.8.0-openjdk

 

저는 아래와 같은 경로를 찾을 수 있었습니다.

- JAVA_HOME : /usr/lib/jvm/java-1.8.0-openjdk

- JRE_HOME : /usr/lib/jvm/jre-1.8.0-openjdk

 

JAVA_HOME 환경변수를 등록합니다.

echo 'JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> /etc/profile
echo 'PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

 

 

필요한 패키지 설치하기

웹 링크로부터 다운로드를 할 수 있도록 wget 패키지를 설치

# yum install -y wget

 

 

Apache Tomcat 다운로드

아래의 링크를 클릭하여 원하는 버전의 링크를 입력하면 Apache Tomcat의 소스를 다운을 받을 수 있습니다.

여기서는 8.0.22 버전을 사용해보겠습니다.

링크 : https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.22/bin/apache-tomcat-8.0.22.tar.gz

# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.22/bin/apache-tomcat-8.0.22.tar.gz
 

Apache Tomcat  목록

 

다운받은 압축파일을 풀어줍니다.

# tar -zxvf apache-tomcat-8.0.22.tar.gz

 

압축이 제대로 풀렸으면 apache-tomcat-8.0.22라는 폴더가 생성된 것을 확인할 수 있습니다. (명령어 : ls)

Apache Tomcat은 압축파일만 풀면 이미 설치가 끝난 상태라고 볼 수 있습니다.

따라서, 압축을 푼 다음 apache-tomcat-8.0.22 폴더를 원하는 위치에 이동합니다.

저는 /usr/local/tomcat 폴더 안에 apache-tomcat-8.0.22 폴더를 이동해 보겠습니다.

# mkdir -p /usr/local/tomcat
# mv ./apache-tomcat-8.0.22 /usr/local/tomcat

서비스 등록하기

원래 Apache Tomcat을 실행하기 위해서는 아래와 같은 명령어로 실행을 해야하기 때문에, 폴더의 경로를 알고 있어야 하는 불편함이 생깁니다.

# /usr/local/tomcat/apache-tomcat-8.0.22/bin/catalina.sh start

 

그렇기 때문에 서비스명으로 별칭을 등록해 두고 사용하는 방법을 적용해보려고 합니다.

그러면 아래와 같은 명령어로 간단하게 실행하실 수 있습니다.

# service tomcat start

 

 

서비스 등록파일 만들기

우선 서비스를 등록하기 위해서는 /etc/init.d 폴더 안에 서비스에 대한 정보를 담고있는 파일을 생성해주어야합니다.

 

# touch /etc/init.d/tomcat
# chmod 755 /etc/init.d/tomcat
# vi /etc/init.d/tomcat

 

파일 내용은 아래와 같이 입력해줍니다.

#!/bin/sh
# chkconfig: 345 85 15 
# description: apache tomcat 8.x
# processname: tomcat
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JRE_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.0.22
export JAVA_OPTS="-server -Xms512m -Xmx512m"
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
case "$1" in
  start)
  echo -n "Starting tomcat: "
  $CATALINA_HOME/bin/catalina.sh start
  echo
  ;;
  stop)
  echo -n "Shutting down tomcat: "
  $CATALINA_HOME/bin/catalina.sh stop
  echo
  ;;
  restart)
  $0 stop
  sleep 2
  $0 start
  ;;
  *)
  echo "Usage: $0 {start|stop|restart}"
  exit 1
esac
exit 0

 

 

서비스 등록하기

파일 내용 수정이 완료되었다면 서비스를 등록합니다.

# chkconfig --add tomcat

 

 

방화벽 설정하기

Apache Tomcat이 기본으로 사용하는 8080 포트를 허용한 후, --reload 명령어를 통해 방화벽에 반영합니다.

# firewall-cmd --permanent --zone=public --add-port=8080/tcp
# firewall-cmd --reload

 

 

실행하기

등록한 서비스 이름인 tomcat으로 서비스를 실행합니다.

# service tomcat start

Tip :: 스크립트 작성하기

 

작업순서 정리하기

1. OPEN JDK 설치하기

2. OPEN JDK 환경변수 등록하기

3. 필요한 패키지 설치하기

4. Apache Tomcat 다운로드 및 압축 풀기

5. 원하는 경로에 Apache Tomcat 이동하기

6. 서비스 등록파일 만들기

7. 서비스 등록하기

8. 방화벽 설정하기

9. 실행하기

 

 

스크립트 작성하기

위에서 작성한 작업 순서에 맞게 쉘 스크립트를 작성해줍니다.
이와같이, 직접 개발환경을 구성하는 작업을 한 후, 팀원들에게 개발환경을 공유하는 방법에 있어서는 쉘 스크립트가 매우 유용합니다.
단! 쉘 스크립트는 운영체제와 패키지의 버전에 매우 민감하기 때문에, 장기간 사용할 수는 없고, 주기적으로 잘 작동되는지 테스트를 해야합니다.
이 점만 유의해주시면 팀원들에게 좀 더 빠르게 개발환경을 구성해 주실 수 있을 것 같습니다.
 
스크립트 파일 만들고 실행권한을 부여하기

# touch install
# chmod 755 install

 

생성된 스크립트 파일(install)에 아래의 내용을 입력하기

# vi install
# ---------------- install 파일내용 ----------------


# 1. OPEN JDK 설치하기
yum install -y java-1.8.0-openjdk-devel


# 2. OPEN JDK 환경변수 등록하기
echo 'JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> /etc/profile
echo 'PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile


# 3. 필요한 패키지 설치하기
yum install -y wget


# 4. Apache Tomcat 다운로드 및 압축 풀기
wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.22/bin/apache-tomcat-8.0.22.tar.gz
tar -zxvf apache-tomcat-8.0.22.tar.gz


# 5. 원하는 경로에 Apache Tomcat 이동하기
mkdir -p /usr/local/tomcat
mv ./apache-tomcat-8.0.22 /usr/local/tomcat


# 6.서비스 등록파일 만들기
touch /etc/init.d/tomcat
chmod 755 /etc/init.d/tomcat
cd /etc/init.d
echo '#!/bin/sh' >> tomcat
echo '# chkconfig: 345 85 15' >> tomcat 
echo '# description: apache tomcat 8.x' >> tomcat
echo '# processname: tomcat' >> tomcat
echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> tomcat
echo 'export JRE_HOME=/usr/lib/jvm/jre-1.8.0-openjdk' >> tomcat
echo 'export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.0.22' >> tomcat
echo 'export JAVA_OPTS="-server -Xms512m -Xmx512m"' >> tomcat
echo 'export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin' >> tomcat
echo 'case "$1" in' >> tomcat
echo '  start)' >> tomcat
echo '  echo -n "Starting tomcat: "' >> tomcat
echo '  $CATALINA_HOME/bin/catalina.sh start' >> tomcat
echo '  echo' >> tomcat
echo '  ;;' >> tomcat
echo '  stop)' >> tomcat
echo '  echo -n "Shutting down tomcat: "' >> tomcat
echo '  $CATALINA_HOME/bin/catalina.sh stop' >> tomcat
echo '  echo' >> tomcat
echo '  ;;' >> tomcat
echo '  restart)' >> tomcat
echo '  $0 stop' >> tomcat
echo '  sleep 2' >> tomcat
echo '  $0 start' >> tomcat
echo '  ;;' >> tomcat
echo '  *)' >> tomcat
echo '  echo "Usage: $0 {start|stop|restart}"' >> tomcat
echo '  exit 1' >> tomcat
echo 'esac' >> tomcat
echo 'exit 0' >> tomcat


# 7. 서비스 등록하기
chkconfig --add tomcat


# 8. 방화벽 설정하기
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload


# 9. 실행하기
service tomcat start

 

 

스크립트 실행하기

./install

 

LIST