注意:安装tomcat前必须先部署JDK
官方和镜像站点下载:
https://tomcat.apache.org/download-80.cgi
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/
[root@cen7_27 ~]# tar xvf apache-tomcat-8.5.64.tar.gz -C /usr/local/
[root@cen7_27 ~]# cd /usr/local/
[root@cen7_27 local]# ln -s apache-tomcat-8.5.64/ tomcat
#指定PATH变量
[root@cen7_27 ~]# vi /etc/profile.d/tomcat.sh
[root@cen7_27 ~]# cat /etc/profile.d/tomcat.sh
PATH=/usr/local/tomcat/bin:$PATH
[root@cen7_27 ~]# source /etc/profile.d/tomcat.sh
[root@cen7_27 ~]# echo $PATH
/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/jdk/bin
#查看当前变量设置和命令用法
[root@cen7_27 ~]# catalina.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Usage: catalina.sh ( commands ... )
commands:
debug Start Catalina in a debugger
debug -security Debug Catalina with a security manager
jpda start Start Catalina under JPDA debugger
run Start Catalina in the current window
run -security Start in the current window with security manager
start Start Catalina in a separate window
start -security Start in a separate window with security manager
stop Stop Catalina, waiting up to 5 seconds for the process to end
stop n Stop Catalina, waiting up to n seconds for the process to end
stop -force Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
stop n -force Stop Catalina, wait up to n seconds and then use kill -KILL if still running
configtest Run a basic syntax check on server.xml - check exit code for result
version What version of tomcat are you running?
Note: Waiting for the process to end and use of the -force option require that $CATALINA_PID is defined
#查看环境变量和版本信息
[root@cen7_27 ~]# catalina.sh version
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Server version: Apache Tomcat/8.5.64
Server built: Mar 4 2021 23:14:16 UTC
Server number: 8.5.64.0
OS Name: Linux
OS Version: 3.10.0-1127.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_291-b10
JVM Vendor: Oracle Corporation
#启动tomcat
[root@cen7_27 ~]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
#查看端口
[root@cen7_27 ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 [::]:*
LISTEN 0 100 [::]:8080 [::]:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
#查看进程是以root启动的
[root@cen7_27 ~]# ps aux |grep tomcat
root 2132 12.3 2.9 4601364 118416 pts/0 Sl 08:32 0:09 /usr/local/jdk/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/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 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/localtomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 2170 3.0 0.0 112812 972 pts/0 S+ 08:33 0:00 grep --color=auto tomcat
#关闭tomcat
[root@cen7_27 ~]# shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
#或者以下也可以,指定10s后停止,默认5s
[root@cen7_27 ~]# catalina.sh stop 10
[root@cen7_27 ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
#再次用不同方式启动tomcat
[root@cen7_27 ~]# catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@cen7_27 ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 [::]:*
LISTEN 0 100 [::]:8080 [::]:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
#再次用不同方式关闭tomcat
[root@cen7_27 ~]# catalina.sh stop
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
[root@cen7_27 ~]# catalina.sh start
#打开浏览器访问:http://10.0.0.27:8080/
配置tomcat自启动的service文件
#创建tomcat专用账户
[root@cen7_27 ~]# useradd -r -s /sbin/nologin tomcat
#准备service文件中相关环境文件
[root@cen7_27 ~]# vim /usr/local/tomcat/conf/tomcat.conf
[root@cen7_27 ~]# cat /usr/local/tomcat/conf/tomcat.conf
JAVA_HOME=/usr/local/jdk
JRE_HOME=/usr/local/jdk/jre
[root@cen7_27 ~]# chown -R tomcat.tomcat /usr/local/tomcat/
#创建tomcat.service文件
[root@cen7_27 ~]# vim /lib/systemd/system/tomcat.service
[root@cen7_27 ~]# cat /lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/usr/local/tomcat/conf/tomcat.conf
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
[root@cen7_27 ~]# systemctl daemon-reload
[root@cen7_27 ~]# systemctl enable --now tomcat
[root@cen7_27 ~]# systemctl status tomcat
● tomcat.service - Tomcat
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-06-24 08:58:34 EDT; 1min 8s ago
Main PID: 2740 (java)
CGroup: /system.slice/tomcat.service
└─2740 /usr/local/jdk/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/l...
Jun 24 08:58:34 cen7_27.yzl systemd[1]: Starting Tomcat...
Jun 24 08:58:34 cen7_27.yzl systemd[1]: Started Tomcat.
#查看日志
[root@cen7_27 ~]# tail /var/log/messages
Jun 24 09:02:38 cen7_27 systemd: Reloading.
Jun 24 09:02:38 cen7_27 systemd: Starting Tomcat...
Jun 24 09:02:38 cen7_27 startup.sh: Tomcat started.
Jun 24 09:02:38 cen7_27 systemd: Started Tomcat.