병호의 IT새싹키우기

Linux CentOS에 Apache Tomcat 10 설치하기 본문

Linux

Linux CentOS에 Apache Tomcat 10 설치하기

병호네 2025. 2. 5. 16:59

tomcat 버전은 홈페이지를 확인하여 현재 릴리즈 된 버전으로 10.1.34를 사용

 

1.OpenJDK 설치 

1. 1. OpenJDK 다운로드

  • 원하는 경로에 설치하면 됩니다. 
# wget https://download.java.net/openjdk/jdk21/ri/openjdk-21+35_linux-x64_bin.tar.gz

 

1. 2. OpenJDK 압축 풀기

  • 다운로드한 Java(jdk) 파일의 압축을 풀어 줍니다.
# tar -zxvf openjdk-21+35_linux-x64_bin.tar.gz

 

1.3. 확인

# java -version
openjdk version "21" 2023-09-19
OpenJDK Runtime Environment (build 21+35-2513)
OpenJDK 64-Bit Server VM (build 21+35-2513, mixed mode, sharing)

 

2. 환경 변수 설정

2.1. 환경 변수 등록

  •  /etc/profile를 vi명령어로 열어줍니다
# vi /etc/profile
  •  Shift + G를 눌러 해당 파일의 가장 마지막 줄로 이동한뒤 아래 내용을 추가한 뒤 저장 
export JAVA_HOME=/usr/local/jdk-21
export PATH=$JAVA_HOME/bin:$PATH
  • 아래의 명령어를 이용해 수정한 파일을 저장
# source /etc/profile

 

2.2. 등록된 환경 변수 확인

  • 잘등록 됫는지 확인
# echo $JAVA_HOME
/usr/local/jdk-21

 

 

3. Tomcat 설치

3.1 Tomcat Download

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the Jakarta

tomcat.apache.org

  • 홈페이지에 접속하면 다음과 같은 화면이 나오게 되는데 왼쪽에 사이드 메뉴에 Download에서 원하는 버전으로 클릭해서 접속해 줍니다.

  • 복사한 링크를 이용해 wget을 이용해 원하는 경로에 다운로드
# cd /usr/local
# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.34/bin/apache-tomcat-10.1.34.tar.gz

 

 

3.2. 합축해제

  • tar 명령어를 이용해 다운로드한 파일의 압축을 해제
# ls
apache-tomcat-10.1.34.tar.gz
# tar -xvfz apache-tomcat-10.1.34.tar.gz

 

3.3. 자바 환경 확인(jdk)

환경 변수가 올바르게 설정 되어있거나 기본 환경 변수 $PATH 경로에 JAVA 실행 심볼릭 링크가 존재해야 함

자바 환경 변수 세팅 확인
# echo $JAVA_HOME
/usr/local/bin/java_home

PATH 환경 변수 경로에 자바 실행 명령어가 있는지 확인
(EX. 자바 bin 디렉터리 내에 java 실행 파일 심볼릭 링크)
(which는 특정명령어의 위치를 찾아주는 명령어입니다.)
# which java
/usr/local/bin/java

 

4.방화벽 설정

  • 톰캣의 기본 포트는 8080 외부 접속을 위해 8080 포트를 오픈
# sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
# sudo firewall-cmd --reload
success
# firewall-cmd --permanent --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports: 8080/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:​

 

5. 톰캣 실행

톰캣 실행 파일은 bin 디렉터리에 존재합니다. 톰캣을 실행해 줍니다.

톰캣 실행 시: sh startup.sh

톰캣 종료 시: sh shutdown.sh

# cd apache-tomcat-10.1.34

# ls
bin <-- 이거   conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work

 

 

만약 에러가 뜬다면 자바 개발 환경 세팅이 잘 안된 것입니다. 환경변수나 실행파일을 확인해주세요 

 

 

6. 확인

다음 명령어들을 이해 톰캣이 잘실행되었는지 확인 함

 

  • 프로세스확인
ps -ef | grep tomcat
root      55057      1  1 23:47 pts/1    00:00:06 /usr/local/jdk-21/bin/java -Djava.util.logging.config.file=/tmp/apache-tomcat-10.1.34/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -classpath /tmp/apache-tomcat-10.1.34/bin/bootstrap.jar:/tmp/apache-tomcat-10.1.34/bin/tomcat-juli.jar -Dcatalina.base=/tmp/apache-tomcat-10.1.34 -Dcatalina.home=/tmp/apache-tomcat-10.1.34 -Djava.io.tmpdir=/tmp/apache-tomcat-10.1.34/temp org.apache.catalina.startup.Bootstrap start
root      55500   3234  0 23:54 pts/1    00:00:00 grep --color=auto tomcat

 

  • 톰캣이 포트를 잘 사용하고 있는지 확인 (8080포트 LISTEN 확인)
# netstat -ntap | grep LISTEN
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1392/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1122/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1119/cupsd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1399/master
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      615/rpcbind
tcp6       0      0 :::8080                 :::*                    LISTEN      55057/java
tcp6       0      0 :::22                   :::*                    LISTEN      1122/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      1119/cupsd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1399/master
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      55057/java
tcp6       0      0 :::111                  :::*                    LISTEN      615/rpcbind

 

 

'Linux' 카테고리의 다른 글

SHELL 이란?  (5) 2025.02.06
Linux vi, vim차이와 명령어  (0) 2025.02.06
Linux su 와 su - , sudo의 차이  (0) 2025.02.05
Linux 사용자 계정에 대한 조회,생성,삭제 (CentOS 7.9)  (0) 2025.02.05
Linux 필수용어 20가지  (0) 2025.02.03