I.K.Picture & IT Info.

[CentOS 8] Tomcat 설치 후 서비스 등록 (dnf No URLs in mirrorlist) 본문

Desktop and Mobile/Linux

[CentOS 8] Tomcat 설치 후 서비스 등록 (dnf No URLs in mirrorlist)

helpful-intruder 2022. 10. 20. 00:38
반응형

일단, tomcat을 설치하기 전  만약 CentOS 에서 dnf 설치가 되지 않는다면 아래 형태로(Stream 버전으로) 수정될 필요가 있다.   

(Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist)

 

---------------------------------

$sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*

$sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

$sudo dnf install centos-release-stream -y

$sudo dnf swap centos-{linux,stream}-repos -y

$sudo dnf distro-sync -y

---------------------------------

 

이후 JDK를 설치 후 Tomcat을 설치한다

(이번 포스팅에서는 JDK 는 11버전, Tomcat은 9.0.68 을 설치하며, Tomcat의 경우 압축 푸는 방식으로 설치)

 

$sudo dnf install java-11-openjdk

$wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.68/bin/apache-tomcat-9.0.68.tar.gz

$tar -xvf apache-tomcat-9.0.68.tar.gz

$sudo mv apache-tomcat-9.0.68/ /opt/

 

이렇게되면 설치는 마무리 되지만 이를 systemctl 서비스 형태로 등록해보자,

 

$sudo vi /usr/lib/systemd/system/tomcat9.service

[Unit]
Description=tomcat9
After=network.target syslog.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.15.0.10-3.el8.x86_64"
Environment="CATALINA_HOME=/opt/apache-tomcat-9.0.68"
Environment="CATALINA_BASE=/opt/apache-tomcat-9.0.68"
Environment="CATALINA_HOME=/opt/apache-tomcat-9.0.68"
Environment="CATALINA_PID=/opt/apache-tomcat-9.0.68/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

User=centos
Group=centos

ExecStart=/opt/apache-tomcat-9.0.68/bin/startup.sh
ExecStp=/opt/apache-tomcat-9.0.68/bin/shutdown.sh

UMask=007
RestartSec=10
Restart=always

SuccessExitStatus=143

[Install]
WantedBy=multi-user.target
~                                 

 

sudo systemctl enable /usr/lib/systemd/system/tomcat9.service

 

$chcon -R -t bin_t /opt/apache-tomcat-9.0.68/bin/

(chcon 하는 이유, SELinux 제한 해제,  ExecStart를 사용할 수 있는 위치는 /usr/bin,  /usr/sbin   /usr/libexec   /usr/local/bin 임)

 

 

아래 명령어를 통해 시작 / 정지를 수행할 수 있음

$sudo systemctl start tomcat9

$sudo systemctl stop tomcat9

반응형
Comments