Make sure there are java environment and tomcat environment
1. Configure service mode management
(1) Configure /etc/profile
The path uses the directory path of your jdk and tomcat
(2) Configure the service file tomcat.service
Configure according to your actual directory, the configuration of JAVA_HOME= and CATALINA_HOME= is consistent with the above /etc/profile
Here is the configured tomcat user to start (it can be changed to an existing user, permission issues need to be considered), then it is also necessary to change the owner and group of all files related to tomcat to tomcat
(3) Overload configuration, test tomcat service
2. Manage by shell script
(1) Write shell scripts
(2) Run the test
Make sure there is java environment and tomcat environment
[root@localhost java]# java -version java version "1.8.0_371" Java(TM) SE Runtime Environment (build 1.8.0_371-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode) [root@localhost ~]# /usr/local/tomcat/apache-tomcat-8.5.70/bin/version.sh Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-8.5.70 Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-8.5.70 Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.5.70/temp Using JRE_HOME: /usr/java/jdk1.8.0_371 Using CLASSPATH: /usr/local/tomcat/apache-tomcat-8.5.70/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.70/bin/tomcat-juli.jar Using CATALINA_OPTS: Server version: Apache Tomcat/8.5.70 Server built: Aug 9 2021 16:17:14 UTC Server number: 8.5.70.0 OS Name: Linux OS Version: 3.10.0-1160.el7.x86_64 Architecture: amd64 JVM Version: 1.8.0_371-b11 JVM Vendor: Oracle Corporation
1. Configure service mode management
(1) Configure /etc/profile
The path uses the directory path of your jdk and tomcat
[root@localhost ~]# tail -4 /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_371 export PATH=$JAVA_HOME/bin:$PATH export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.70 export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5.70 [root@localhost ~]# source /etc/profile
(2) Configure the service file tomcat.service
Configure according to your actual directory, the configuration of JAVA_HOME= and CATALINA_HOME= is consistent with the above /etc/profile
[root@localhost system]# pwd /usr/lib/systemd/system [root@localhost system]# vim tomcat.service # Systemd unit file for default tomcat # # To create clones of this service: # DO NOTHING, use [email protected] instead. [Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JAVA_HOME=/usr/java/jdk1.8.0_371 Environment=CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.70 ExecStart=/usr/local/tomcat/apache-tomcat-8.5.70/bin/startup.sh ExecStop=/usr/local/tomcat/apache-tomcat-8.5.70/bin/shutdown.sh ExecReload=/bin/kill -s HUP $MAINPID SuccessExitStatus=143 User=tomcat Group=tomcat PrivateTmp=true [Install] WantedBy=multi-user.target
Here is the configured tomcat user to start (it can be changed to an existing user, permission issues need to be considered), then it is also necessary to change the owner and group of all files related to tomcat to tomcat
[root@localhost ~]# chown -R tomcat:tomcat /usr/local/tomcat/
(3) Overload configuration, test tomcat service
[root@localhost system]# systemctl daemon-reload [root@localhost system]# systemctl stop tomcat [root@localhost system]# systemctl status tomcat ● tomcat.service - Apache Tomcat Web Application Container Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: inactive (dead) Aug 06 22:24:30 localhost.localdomain systemd[1]: tomcat.servic... Aug 06 22:24:42 localhost.localdomain systemd[1]: Starting Apac... Aug 06 22:24:42 localhost.localdomain systemd[1]: Started Apache... Aug 06 22:33:29 localhost.localdomain systemd[1]: Stopping Apac... Aug 06 22:33:29 localhost.localdomain systemd[1]: Stopped Apache... Aug 06 22:33:29 localhost.localdomain systemd[1]: Starting Apac... Aug 06 22:33:29 localhost.localdomain startup.sh[33059]: Tomcat... Aug 06 22:33:29 localhost.localdomain systemd[1]: Started Apache... Aug 06 22:34:20 localhost.localdomain systemd[1]: Stopping Apac... Aug 06 22:34:20 localhost.localdomain systemd[1]: Stopped Apache... Hint: Some lines were ellipsized, use -l to show in full. [root@localhost system]# [root@localhost system]# systemctl start tomcat [root@localhost system]# systemctl status tomcat ● tomcat.service - Apache Tomcat Web Application Container Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2023-08-06 22:34:50 CST; 1s ago Process: 33218 ExecStart=/usr/local/tomcat/apache-tomcat-8.5.70/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 33225 (java) CGroup: /system.slice/tomcat.service └─33225 /usr/java/jdk1.8.0_371/bin/java -Djava.util.... Aug 06 22:34:50 localhost.localdomain systemd[1]: Starting Apac... Aug 06 22:34:50 localhost.localdomain systemd[1]: Started Apache... Hint: Some lines were ellipsized, use -l to show in full.
2. Manage by shell script
(1) Write shell script
[root@localhost tomcat]# vim tomcatmg.sh #!/bin/bash tomcat_home=/tomcat/apache-tomcat-8.5.70 tomcatdown=$tomcat_home/bin/shutdown.sh tomcatstart=$tomcat_home/bin/startup.sh pidtomcat=`ps -ef | grep $tomcat_home | grep -v "grep" | awk '{print $2}'` case $1 in start) $tomcatstart echo "tomcat start" ;; stop) $tomcatdown echo "tomcat shutdown" kill -9 $pidtomcat ;; restart) $tomcatdown kill -9 $pidtomcat sleep 2 $tomcatstart echo "tomcat restart" ;; esac
(2) Run the test
[root@localhost tomcat]# vim tomcatmg,sh [root@localhost tomcat]# bash tomcatmg.sh stop Using CATALINA_BASE: /tomcat/apache-tomcat-8.5.70 Using CATALINA_HOME: /tomcat/apache-tomcat-8.5.70 Using CATALINA_TMPDIR: /tomcat/apache-tomcat-8.5.70/temp Using JRE_HOME: /home/install/jdk/jdk1.8.0_371 Using CLASSPATH: /tomcat/apache-tomcat-8.5.70/bin/bootstrap.jar:/tomcat/apache-tomcat-8.5.70/bin/tomcat-juli.jar Using CATALINA_OPTS: tomcat shutdown [root@localhost tomcat]# netstat -lntup | grep 8080 [root@localhost tomcat]# bash tomcatmg.sh start Using CATALINA_BASE: /tomcat/apache-tomcat-8.5.70 Using CATALINA_HOME: /tomcat/apache-tomcat-8.5.70 Using CATALINA_TMPDIR: /tomcat/apache-tomcat-8.5.70/temp Using JRE_HOME: /home/install/jdk/jdk1.8.0_371 Using CLASSPATH: /tomcat/apache-tomcat-8.5.70/bin/bootstrap.jar:/tomcat/apache-tomcat-8.5.70/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started. start tomcat [root@localhost tomcat]# netstat -lntup | grep 8080 tcp6 0 0 :::8080 :::* LISTEN 8937/java [root@localhost tomcat]# bash tomcatmg.sh restart Using CATALINA_BASE: /tomcat/apache-tomcat-8.5.70 Using CATALINA_HOME: /tomcat/apache-tomcat-8.5.70 Using CATALINA_TMPDIR: /tomcat/apache-tomcat-8.5.70/temp Using JRE_HOME: /home/install/jdk/jdk1.8.0_371 Using CLASSPATH: /tomcat/apache-tomcat-8.5.70/bin/bootstrap.jar:/tomcat/apache-tomcat-8.5.70/bin/tomcat-juli.jar Using CATALINA_OPTS: Using CATALINA_BASE: /tomcat/apache-tomcat-8.5.70 Using CATALINA_HOME: /tomcat/apache-tomcat-8.5.70 Using CATALINA_TMPDIR: /tomcat/apache-tomcat-8.5.70/temp Using JRE_HOME: /home/install/jdk/jdk1.8.0_371 Using CLASSPATH: /tomcat/apache-tomcat-8.5.70/bin/bootstrap.jar:/tomcat/apache-tomcat-8.5.70/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started. tomcat restart [root@localhost tomcat]# netstat -lntup | grep 8080 tcp6 0 0 :::8080 :::* LISTEN 9005/java [root@localhost tomcat]#