在Linux中部署tomcat
一、关闭防火墙selinux(略)
powershell
[root@stw ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@stw ~]# getenforce
Disabled
二、安装java
powershell
[root@stw ~]# cd /etc/yum.repos.d/
[root@stw yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@stw yum.repos.d]# rm -rf *
[root@stw yum.repos.d]# vim server.repo
[root@stw yum.repos.d]# cat server.repo
[aa]
name=aa1
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@stw yum.repos.d]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@stw yum.repos.d]# cd
[root@stw ~]# yum -y install java-11-openjdk
[root@stw ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
三、解压tomcat到/usr/local/目录下
powershell
[root@stw ~]# ls
anaconda-ks.cfg Documents Music Templates
apache-tomcat-10.0.23.tar.gz Downloads Pictures Videos
Desktop initial-setup-ks.cfg Public
[root@stw ~]# tar -xzf apache-tomcat-10.0.23.tar.gz -C /usr/local/
[root@stw ~]# cd /usr/local/
[root@stw local]# ls
apache-tomcat-10.0.23 bin etc games include lib lib64 libexec sbin share src
[root@stw local]# ln -s apache-tomcat-10.0.23/ tomcat
[root@stw local]# ll
total 0
drwxr-xr-x 9 root root 220 Sep 23 16:18 apache-tomcat-10.0.23
drwxr-xr-x. 2 root root 6 Apr 11 2018 bin
drwxr-xr-x. 2 root root 6 Apr 11 2018 etc
drwxr-xr-x. 2 root root 6 Apr 11 2018 games
drwxr-xr-x. 2 root root 6 Apr 11 2018 include
drwxr-xr-x. 2 root root 6 Apr 11 2018 lib
drwxr-xr-x. 2 root root 6 Apr 11 2018 lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 libexec
drwxr-xr-x. 2 root root 6 Apr 11 2018 sbin
drwxr-xr-x. 5 root root 49 Jul 23 11:56 share
drwxr-xr-x. 2 root root 6 Apr 11 2018 src
lrwxrwxrwx 1 root root 22 Sep 23 16:19 tomcat -> apache-tomcat-10.0.23/
四、自定义一个Hello World 的java测试网页
powershell
[root@stw local]# cd tomcat/
[root@stw tomcat]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@stw tomcat]# cd webapps/
[root@stw webapps]# ls
docs examples host-manager manager ROOT
[root@stw webapps]# cd ROOT/
[root@stw ROOT]# ls
asf-logo-wide.svg bg-middle.png bg-upper.png index.jsp tomcat.css WEB-INF
bg-button.png bg-nav.png favicon.ico RELEASE-NOTES.txt tomcat.svg
//原来的网页存放在/usr/local/tomcat/webapps/ROOT/index.jsp
[root@stw ~]# mkdir /usr/local/tomcat/webapps/test
[root@stw ~]# cd /usr/local/tomcat/webapps/test
[root@stw test]# vim index.jsp
[root@stw test]# cat index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("Hello World");
%>
</body>
</html>
五、启动tomcat(默认端口号为8080)
通过ps -ef | grep tomcat 可以查看到有java和tomcat的进程,说明服务已经启动成功
powershell
[root@stw test]# cd /usr/local/tomcat/
[root@stw tomcat]# cd bin
[root@stw bin]# ls
bootstrap.jar configtest.bat migrate.sh tomcat-native.tar.gz
catalina.bat configtest.sh setclasspath.bat tool-wrapper.bat
catalina.sh daemon.sh setclasspath.sh tool-wrapper.sh
catalina-tasks.xml digest.bat shutdown.bat version.bat
ciphers.bat digest.sh shutdown.sh version.sh
ciphers.sh makebase.bat startup.bat
commons-daemon.jar makebase.sh startup.sh
commons-daemon-native.tar.gz migrate.bat tomcat-juli.jar
[root@stw bin]# ./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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@stw bin]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:6000 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 127.0.0.1:6010 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 100 :::8080 :::*
LISTEN 0 128 :::6000 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 ::1:6010 :::*
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::*
[root@stw bin]# ps -ef | grep tomcat
root 57632 1 22 16:28 pts/0 00:00:09 /usr/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/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 57684 9768 0 16:29 pts/0 00:00:00 grep --color=auto tomcat
六、测试访问


扩展1:
1、访问Host Manager界面
(1)配置tomcat-users.xml文件,在</tomcat-users>
行上面添加两行,设置角色,登录用户名和密码,角色名称只能是admin-gui 用户名和密码自定义
powershell
[root@stw ~]# vim /usr/local/tomcat/conf/tomcat-users.xml

(2)配置host-manager/META-INF/context.xml文件,允许192.168.100.0/24网段访问,在allow字段后添加
powershell
[root@stw ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml

(3)重启服务,先关服务,再启服务
powershell
[root@stw ~]# /usr/local/tomcat/bin/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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
^[[A[root@stw /usr/local/tomcat/bin/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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
(4)登录网页测试登录Host Manager
输入对应的用户名和密码:用户名为tomcat,密码为123456

2、访问Server Status
(1)编辑tomcat-users.xml
powershell
[root@stw ~]# vim /usr/local/tomcat/conf/tomcat-users.xml

(2)编辑manager/META-INF/context.xml,在allow字段添加允许192.168.100.0/24网段访问
powershell
[root@stw ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml

(3)重启服务,先关服务,再启服务
powershell
[root@stw ~]# /usr/local/tomcat/bin/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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
[root@stw ~]# /usr/local/tomcat/bin/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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
(4)登录网页,访问Server Status,用户名tomcat 密码123456
访问Manager App的时候就不需要密码了,因为访问了Server Status界面,所以不用输入密码


扩展2:怎样运行一个jar包
(1)解压安装jdk-17
powershell
[root@stw2 ~]# rz -E
rz waiting to receive.
[root@stw2 ~]# ls
anaconda-ks.cfg Downloads Music Templates
Desktop initial-setup-ks.cfg Pictures Videos
Documents jdk-17.0.15_linux-x64_bin.tar.gz Public
[root@stw2 ~]# tar -zxf jdk-17.0.15_linux-x64_bin.tar.gz -C /usr/local
[root@stw2 ~]# cd /usr/local/
[root@stw2 local]# ls
bin etc games include jdk-17.0.15 lib lib64 libexec sbin share src
[root@stw2 local]# cd jdk-17.0.15/
[root@stw2 jdk-17.0.15]# ls
bin conf include jmods legal lib LICENSE man README release
(2)更改配置文件
powershell
[root@stw2 jdk-17.0.15]# vim /etc/profile
[root@stw2 jdk-17.0.15]# source /etc/profile

(3)将jar包(Spring_AI_Demo-0.0.1-SNAPSHOT.jar)下载到本地然后运行
查看8080端口是否启动判断是否运行成功
powershell
[root@stw2 ~]# rz -E
rz waiting to receive.
[root@stw2 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg Public
Desktop jdk-17.0.15_linux-x64_bin.tar.gz Spring_AI_Demo-0.0.1-SNAPSHOT.jar
Documents Music Templates
Downloads Pictures Videos
[root@stw2 ~]# nohup java -jar Spring_AI_Demo-0.0.1-SNAPSHOT.jar &
[1] 10042
[root@stw2 ~]# nohup: ignoring input and appending output to 'nohup.out'
[root@stw2 ~]# ps -ef | grep java
root 10042 9830 60 18:19 pts/0 00:00:24 java -jar Spring_AI_Demo-0.0.1-SNAPSHOT.jar
root 10097 9830 0 18:19 pts/0 00:00:00 grep --color=auto java
[root@stw2 ~]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:6000 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 127.0.0.1:6010 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 100 :::8080 :::*
LISTEN 0 128 :::6000 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 ::1:6010 :::*
