1. Home
  2. Docs
  3. 호스팅
  4. Tomcat
  5. Tomcat 설치(Rocky8 기준)

Tomcat 설치(Rocky8 기준)

[OS 설치 후 초기세팅]

(1). 시스템 update
dnf update -y

(2). epel-release 설치
dnf config-manager –set-enabled powertools
dnf install epel-release -y

(3). 설치 확인
dnf repolist

(4). hostname 변경
hostnamectl set-hostname tomcat

(5). selinux 해제및 확인
sed -i ‘s/SELINUX=enforcing/SELINUX=permissive/’ /etc/selinux/config
setenforce 0
sestatus

(6). ntp 동기화 서비스 설치 및 server 추가
ntp 동기화 서비스 설치
dnf install chrony -y
default ntp 동기화 pool과 서버 주석처리
sed -i ‘s/^pool/#pool/’ /etc/chrony.conf
sed -i ‘s/^server/#server/’ /etc/chrony.conf
새로운 ntp 서버 추가
cat <> /etc/chrony.conf
server time.bora.net
server time.google.com
EOF
chronyd 서비스 시작 및 시작 서비스 등록
systemctl enable –now chronyd
ntp source 확인
chronyc sources
한국 표준시간(KST) 시간 설정
timedatectl set-timezone Asia/Seoul

[JAVA 설치]

(1). java 설치
설치 가능한 java jdk 버전확인
dnf list java*
java jdk 설치
dnf install java-1.8.0-openjdk.x86_64 -y
설치된 java version 확인
java -version
여러개의 java jdk가 설치되어 있을 경우 활성화할 java jdk 선택
update-alternatives –config java

[Tomcat 유저 및 그룹 생성]

tomcat 그룹 생성

groupadd tomcat tomcat user

생성 및 tomcat 그룹에 추가하고 tomcat의 home directory 설정

useradd -g tomcat -s /sbin/nologin -d /opt/tomcat tomcat tomcat user

생성 확인

cat /etc/passwd | grep tomcat 

[Tomcat 다운로드 및 설치]

tomcat 다운로드 시 필요한 프로그램 설치 (gzip, bzip2, xz, zip, unzip은 압축해제 프로그램으로 gzip만 설치해도 됨)
dnf install wget gzip bzip2 xz zip unzip -y
tomcat 다운로드(https://tomcat.apache.org 에서 필요한 버전 선택)
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.70/bin/apache-tomcat-9.0.70.tar.gz
다운받은 tomcat 압축을 /opt/tomcat 폴더에 해제 (–strip-components는 상위 디렉터리 1개 없애줌)
tar -zxvf apache-tomcat-9.0.70.tar.gz -C /opt/tomcat –strip-components=1
압축이 정상적으로 풀려서 원하는 폴더에 설치되어 있는지 확인
ls -l /opt/tomcat

[Tomcat 환경 설정]

/opt/tomcat 폴더의 소유자및 그룹 지정
chown -R tomcat:tomcat /opt/tomcat
소유자 및 그룹 지정 확인
ls -l /opt

tomcat 실행 shell script에 실행 권한 지정

sh -c ‘chmod +x /opt/tomcat/bin/*.sh’

실행 권한 지정 확인

ls -al /opt/tomcat/bin | grep “.sh” 

tomcat 실행
/opt/tomcat/bin/startup.sh
정상 실행 확인 위한 log 확인
tail -n 20 /opt/tomcat/logs/catalina.out
process 확인
ps -ef | grep tomcat
tomcat 종료
/opt/tomcat/bin/shutdown.sh
tomcat 실행 port 확인
ss -tnlp | grep java

tomcat 실행 port 방화벽 등록
firewall-cmd –permanent –add-port=8080/tcp
firewall-cmd –reload
firewall-cmd –list-all

tomcat 서비스로 등록해 사용하기 위한 서비스 파일 생성
cat </etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat webs servlet container
After=network.target

[Service]   
Type=forking    

User=tomcat 
Group=tomcat    

Environment="JAVA_HOME=/usr/lib/jvm/jre"    
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"    

Environment="CATALINA_BASE=/opt/tomcat" 
Environment="CATALINA_HOME=/opt/tomcat" 
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"  
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"   

ExecStart=/opt/tomcat/bin/startup.sh    
ExecStop=/opt/tomcat/bin/shutdown.sh    

[Install]   
WantedBy=multi-user.target  
EOF 

tomcat 서비스 실행
systemctl start tomcat
systemctl enable tomcat

정상 실행이 되지 않고 에러 발생 시

chown -R tomcat:tomcat /opt/tomcat 

How can we help?