tomcat环境部署以及介绍

tomcat环境部署

简介:

Tomcat是一个开源的Web服务器和Servlet容器,由Apache软件基金会开发。它是运行Java Web应用程序的最受欢迎的选择之一。Tomcat用于部署基于Java的Web应用程序,提供对Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)技术的支持。它可以作为独立服务器使用,也可以与其他Web服务器(如Apache HTTP服务器)集成。Tomcat是用Java编写的,并且与各种操作系统兼容,包括Windows、macOS和Linux。

tomcat就是传说中的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。

tomcat容器(跑java代码)

Tomcat优点:

  1. 开源免费,可以节约成本。
  2. 轻量级,占用资源少,启动快速,适合小型应用。
  3. 支持多种操作系统,包括Windows、macOS和Linux。
  4. 支持多种协议,包括HTTP、HTTPS、AJP等。
  5. 支持多种编程语言,包括Java、Groovy、Jython等。
  6. 可扩展性强,支持插件式开发。

Tomcat缺点:

  1. 不适合大型应用,性能不如其他Web服务器。
  2. 配置较为复杂,需要一定的技术水平。
  3. 对于高并发场景,需要进行优化和调整。

Tomcat工作原理: Tomcat是基于Java的Web服务器和Servlet容器,它的工作原理是通过监听HTTP请求,将请求发送给对应的Servlet进行处理,并将处理结果返回给客户端。

Tomcat工作流程:

  1. 客户端发送HTTP请求到Tomcat服务器。
  2. Tomcat服务器接收到请求,根据请求的URL找到对应的Servlet。
  3. Servlet处理请求,生成响应结果。
  4. Tomcat服务器将响应结果返回给客户端。

实验:准备一台初始的虚拟机

主机ip
tomcat192.168.134.155

首先关闭防火墙和selinux

[root@centos ~]# systemctl disable --now firewalld.service 
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@centos ~]# setenforce 0
[root@centos ~]# vim /etc/selinux/config 
SELINUX=disabled
java环境安装

JDK(Java Development Kit)和JRE(Java Runtime Environment)是Java开发和运行环境的两个重要组成部分,它们之间有以下区别:

JDK:

JDK功能:JDK是Java开发工具包,提供了开发Java应用程序所需的工具和资源,包括编译器、调试器、开发文档、示例代码等。
面向开发者:JDK主要面向Java开发者,用于编写、编译和调试Java代码。
包含内容:JDK包含JRE的所有内容,并且还包含了用于开发Java应用程序的额外工具和库。
JRE:

JRE功能:JRE是Java运行环境,提供了Java应用程序运行所需的运行时环境和必要的库文件。
面向用户:JRE主要面向普通用户,用于执行和运行Java应用程序。
包含内容:JRE包含Java虚拟机(JVM)和Java类库,可以执行Java程序,但不包含用于开发Java应用程序的工具和资源。
JDK适用于开发者,提供了编译、调试和开发所需的工具和库。而JRE更适用于用户

#安装jdk环境
//安装yum源
[root@tomcat ~]# rm -rf /etc/yum.repos.d/*
[root@tomcat ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@tomcat ~]# yum makecache
//安装依赖包
[root@tomcat ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget vim
省略 . . .

//查看安装的版本,能够查看到版本则说明安装成功
[root@tomcat ~]# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

拉取软件包(Apache Tomcat® - Welcome!

在这里插入图片描述

此处我安装版本9

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

//拉取tomcat软件包
[root@centos ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
--2023-10-12 01:24:08--  https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
Resolving archive.apache.org (archive.apache.org)... 65.108.204.189, 2a01:4f9:1a:a084::2
Connecting to archive.apache.org (archive.apache.org)|65.108.204.189|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11692853 (11M) [application/x-gzip]
Saving to: ‘apache-tomcat-9.0.80.tar.gz’

apache-tomcat-9.0.8 100%[==================>]  11.15M   113KB/s    in 1m 52s  

2023-10-12 01:26:02 (102 KB/s) - ‘apache-tomcat-9.0.80.tar.gz’ saved [11692853/11692853]
//查看
[root@centos ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.80.tar.gz
//解压到/usr/local下面
[root@centos ~]# tar xf apache-tomcat-9.0.80.tar.gz -C /usr/local/
[root@centos ~]# ls /usr/local/
apache-tomcat-9.0.80  etc    include  lib64    sbin   src
bin                   games  lib      libexec  share

//设置tomcat软链接,方便后续如果更换tomcat版本后也能直接使用
[root@centos ~]# cd //usr/local/
[root@centos local]# ll
total 0
drwxr-xr-x. 9 root root 220 Oct 12 01:38 apache-tomcat-9.0.80
drwxr-xr-x. 2 root root   6 Apr 23  2020 bin
drwxr-xr-x. 2 root root   6 Apr 23  2020 etc
drwxr-xr-x. 2 root root   6 Apr 23  2020 games
drwxr-xr-x. 2 root root   6 Apr 23  2020 include
drwxr-xr-x. 2 root root   6 Apr 23  2020 lib
drwxr-xr-x. 3 root root  17 Oct  6 01:47 lib64
drwxr-xr-x. 2 root root   6 Apr 23  2020 libexec
drwxr-xr-x. 2 root root   6 Apr 23  2020 sbin
drwxr-xr-x. 5 root root  49 Oct  6 01:47 share
drwxr-xr-x. 2 root root   6 Apr 23  2020 src
[root@centos local]# ln -s apache-tomcat-9.0.80 tomcat
[root@centos local]# ll
total 0
drwxr-xr-x. 9 root root 220 Oct 12 01:38 apache-tomcat-9.0.80
drwxr-xr-x. 2 root root   6 Apr 23  2020 bin
drwxr-xr-x. 2 root root   6 Apr 23  2020 etc
drwxr-xr-x. 2 root root   6 Apr 23  2020 games
drwxr-xr-x. 2 root root   6 Apr 23  2020 include
drwxr-xr-x. 2 root root   6 Apr 23  2020 lib
drwxr-xr-x. 3 root root  17 Oct  6 01:47 lib64
drwxr-xr-x. 2 root root   6 Apr 23  2020 libexec
drwxr-xr-x. 2 root root   6 Apr 23  2020 sbin
drwxr-xr-x. 5 root root  49 Oct  6 01:47 share
drwxr-xr-x. 2 root root   6 Apr 23  2020 src
lrwxrwxrwx. 1 root root  20 Oct 12 01:38 tomcat -> apache-tomcat-9.0.80
[root@centos local]# cd tomcat/
[root@centos tomcat]#pwd
//usr/local/tomcat
[root@centos tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@centos tomcat]# ls bin/
bootstrap.jar                 configtest.sh     shutdown.sh
catalina.bat                  daemon.sh         startup.bat
catalina.sh                   digest.bat        startup.sh
catalina-tasks.xml            digest.sh         tomcat-juli.jar
ciphers.bat                   makebase.bat      tomcat-native.tar.gz
ciphers.sh                    makebase.sh       tool-wrapper.bat
commons-daemon.jar            setclasspath.bat  tool-wrapper.sh
commons-daemon-native.tar.gz  setclasspath.sh   version.bat
configtest.bat                shutdown.bat      version.sh

上述的bin目录中我们能够用到的catalina.sh、shutdown.sh、version.sh、startup.sh、configtest.sh
这几个执行文件,用途分别是:
catalina.sh 能够关闭和开启服务(常用)
shutdown.sh 只能关闭服务(不是关闭主机)
startup.sh 只能开启服务
version.sh 查看tomcat版本
configtest.sh 测试配置文件是否存在错误,检查配置文件

//将tomcat的lib位置存放在/etc/ld.so.conf/d/下面,命名一个自身名字的文件,方便查找
[root@centos tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp 

//指定lib库位置
[root@centos tomcat]# vim /etc/ld.so.conf.d/tomcat.conf
/usr/local/tomcat/lib       //写入lib库路径,告礼包库位置
[root@centos tomcat]# ldconfig -v  //读取详细信息
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
/usr/lib64//bind9-export:
	libisccfg-export.so.163 -> libisccfg-export.so.163.0.4
	libisc-export.so.1104 -> libisc-export.so.1104.0.0
	libirs-export.so.161 -> libirs-export.so.161.0.0
	libdns-export.so.1107 -> libdns-export.so.1107.1.0
/usr/local/tomcat/lib:  //能有这个路径就能找到lib库
/lib:
/lib64:

启动tomcat服务

//启动tomcat服务
[root@centos tomcat]# pwd
/usr/local/tomcat
[root@centos tomcat]# cd bin
[root@centos bin]# pwd
//usr/local/tomcat/bin

[root@centos 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.
//此时执行这个脚本之后看进程是否启动需要看两个东西1、端口号 2、进程
//查看端口号
[root@centos bin]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*           
//查看tomcat进程
[root@centos bin]# ps -ef | grep tomcat   
root        2363       1 21 01:40 pts/0    00:00:01 /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        2394    1527  0 01:40 pts/0    00:00:00 grep --color=auto tomcat
访问tomcat的web页面

在这里插入图片描述

在部署tomcat过程中,网页存放目录在/usr/local/tomcat/webapps中,里面可以存放我们的网页,也可以放置app软件,而我们上述所访问到的页面则来自webapp目录中的ROOT目录中的项目

[root@centos ~]# cd /usr/local/tomcat
[root@centos tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@centos tomcat]# cd webapps/
[root@centos webapps]# ls
docs  examples  host-manager  manager  ROOT

我们新建一个项目目录进行测试

[root@centos webapps]# mkdir test && cd test
[root@centos test]# vim index.jsp   //jsp就是java语言
[root@centos test]# cat index.jsp 
<html>
<head>
        <title>xiaozhan</title>
</head>
<body>
        <%
            out.println("Hellow World");  #表示打印Hellow World
        %>
</body>
</html>

访问:

在这里插入图片描述

实验:

//停止tomcat
[root@centos ~]# cd /usr/local/tomcat/
[root@centos tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@centos tomcat]# ls bin/
bootstrap.jar                 configtest.sh     shutdown.sh
catalina.bat                  daemon.sh         startup.bat
catalina.sh                   digest.bat        startup.sh
catalina-tasks.xml            digest.sh         tomcat-juli.jar
ciphers.bat                   makebase.bat      tomcat-native.tar.gz
ciphers.sh                    makebase.sh       tool-wrapper.bat
commons-daemon.jar            setclasspath.bat  tool-wrapper.sh
commons-daemon-native.tar.gz  setclasspath.sh   version.bat
configtest.bat                shutdown.bat      version.sh
//将服务停止
[root@centos 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@centos tomcat]# ss -antl
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process  
LISTEN  0        128              0.0.0.0:22            0.0.0.0:*              
LISTEN  0        128                 [::]:22               [::]:*              
[root@centos tomcat]# ps -ef | grep tomcat
root        2528    2465  0 02:19 pts/1    00:00:00 grep --color=auto tomcat
如果出现端口号没有了,进程还在就用kill 9 强制杀死

//运行catalina.sh只有两种1、启动start 2、停止stop
如果要重启,先stop 后start

[root@centos tomcat]# ./bin/catalina.sh --help
commands:
  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@centos tomcat]# ls bin/
bootstrap.jar                 configtest.sh (检查配置文件)    shutdown.sh(关闭tomcat)
catalina.bat                  daemon.sh         startup.bat
catalina.sh                   digest.bat        startup.sh(启动脚本)
catalina-tasks.xml            digest.sh         tomcat-juli.jar
ciphers.bat                   makebase.bat      tomcat-native.tar.gz
ciphers.sh                    makebase.sh       tool-wrapper.bat
commons-daemon.jar            setclasspath.bat  tool-wrapper.sh
commons-daemon-native.tar.gz  setclasspath.sh   version.bat
configtest.bat                shutdown.bat      version.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:   
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version name:   Apache Tomcat/9.0.80
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Aug 23 2023 21:59:38 UTC
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version number: 9.0.80.0
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Linux
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            4.18.0-305.el8.x86_64
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_312-b07
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Red Hat, Inc.
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         /usr/local/apache-tomcat-9.0.80
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         /usr/local/apache-tomcat-9.0.80
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dignore.endorsed.dirs=
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/usr/local/tomcat
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/usr/local/tomcat
Oct 12, 2023 2:34:40 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
Oct 12, 2023 2:34:40 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
Oct 12, 2023 2:34:41 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Oct 12, 2023 2:34:41 AM org.apache.catalina.startup.Catalina load
INFO: Server initialization in [560] milliseconds
用shutdown.sh关闭tomcat
//测试 用shutdown.sh关闭tomcat
[root@centos 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.
[root@centos tomcat]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*              
[root@centos tomcat]# ps -ef | grep tomcat
root        2602       1 14 02:39 pts/1    00:00:02 /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        2633    2465  0 02:39 pts/1    00:00:00 grep --color=auto tomcat

[root@centos tomcat]# ./bin/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
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@centos tomcat]# ss -antl
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process  
LISTEN  0        128              0.0.0.0:22            0.0.0.0:*              
LISTEN  0        128                 [::]:22               [::]:*     
启动tomcat
//启动tomcat
[root@centos tomcat]# ./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@centos tomcat]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*    
[root@centos tomcat]# !ps  //表示上一次的ps命令
ps -ef | grep tomcat
root        2679       1 10 02:42 pts/1    00:00:02 /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        2710    2465  0 02:42 pts/1    00:00:00 grep --color=auto tomcat
查看版本号
//查看版本号
[root@centos tomcat]# ./bin/version.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:   
Server version: Apache Tomcat/9.0.80
Server built:   Aug 23 2023 21:59:38 UTC
Server number:  9.0.80.0  //版本号
OS Name:        Linux
OS Version:     4.18.0-305.el8.x86_64  //内核版本号
Architecture:   amd64
JVM Version:    1.8.0_312-b07  //jvm(java虚拟机)版本号
JVM Vendor:     Red Hat, Inc.
配置文件
[root@centos tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@centos tomcat]# cd conf/
[root@centos conf]# ls
Catalina             jaspic-providers.xml  tomcat-users.xml
catalina.policy      jaspic-providers.xsd  tomcat-users.xsd
catalina.properties  logging.properties    web.xml
context.xml          server.xml

在这里插入图片描述

看到官网会提示报错信息

在这里插入图片描述

此图片中的:

manager-gui - allows access to the HTML GUI and the status pages //允许访问两个模板server status 、manager app。
manager-script - allows access to the text interface and the status pages //允许访问命令行接口和状态页面
manager-jmx - allows access to the JMX proxy and the status pages  //允许访问jmx代理和状态页面
manager-status - allows access to the status pages only  //只允许访问状态页面
更改配置文件
1、按照官方文档提示修改第一处
[root@centos conf]# vim tomcat-users.xml
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
  <user username="role1" password="<must-be-changed>" roles="role1"/>
-->
<role rolename="manager-gui"/>   #添加
<user username="lcy" password="luchengyang111!" roles="manager-gui"/>   #添加
</tomcat-users>
//此处添加的两行必须写在<tomcat-users>这个模板之内,因为这个模板是用来定义用户的

2、按照官方文档提示修改第二处
//先找到项目里面的context.xml文件
[root@centos tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@centos tomcat]# ls webapps/
docs  examples  host-manager  manager  ROOT  test
[root@centos tomcat]# cd webapps/manager/
[root@centos manager]# ls
css  images  index.jsp  META-INF  status.xsd  WEB-INF  xform.xsl  
[root@centos manager]# ls META-INF/
context.xml

//允许本机ip
[root@centos manager]# vim META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.168\.134\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />   #此处\d:表示整数 +:表示至少1位  192\.168\.134\.\d+:表示允许192.168.134这个网段

在这里插入图片描述
在这里插入图片描述

登录成功
在这里插入图片描述

测试:

想将test停止让其访问不了

在这里插入图片描述

发现访问不了
在这里插入图片描述

如启动、卸载、重新加载等都可以在此页面直接操作
在这里插入图片描述

发现访问不了
在这里插入图片描述

[root@centos ~]# cd /usr/local/apache-tomcat-9.0.80/
[root@centos apache-tomcat-9.0.80]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@centos apache-tomcat-9.0.80]# vim conf/tomcat-users.xml 
//按照官方文档提示,在此文件中再添加一个角色
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
  <user username="role1" password="<must-be-changed>" roles="role1"/>
-->
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>    #添加admin角色
<user username="lcy" password="luchengyang111!" roles="manager-gui,admin-gui"/>
</tomcat-users>
//将此处添加192.168.134网段的ip
[root@centos webapps]# pwd
/usr/local/apache-tomcat-9.0.80/webapps
[root@centos webapps]# vim host-manager/META-INF/context.xml 
 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.168\.134\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

//更改了配置文件要将服务重启
[root@centos webapps]# ../bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/apache-tomcat-9.0.80
Using CATALINA_HOME:   /usr/local/apache-tomcat-9.0.80
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.80/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/apache-tomcat-9.0.80/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.80/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@centos webapps]# !ps
ps -ef | grep tomcat
root        2866    2465  0 03:57 pts/1    00:00:00 grep --color=auto tomcat
[root@centos webapps]# ../bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/apache-tomcat-9.0.80
Using CATALINA_HOME:   /usr/local/apache-tomcat-9.0.80
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.80/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/apache-tomcat-9.0.80/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.80/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@centos webapps]# !ps
ps -ef | grep tomcat
root        2879       1 21 03:57 pts/1    00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-9.0.80/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/apache-tomcat-9.0.80/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.80/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/apache-tomcat-9.0.80 -Dcatalina.home=/usr/local/apache-tomcat-9.0.80 -Djava.io.tmpdir=/usr/local/apache-tomcat-9.0.80/temp org.apache.catalina.startup.Bootstrap start
root        2909    2465  0 03:57 pts/1    00:00:00 grep --color=auto tomcat
[root@centos webapps]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*      

再次访问:
在这里插入图片描述

成功:
在这里插入图片描述

访问帮助文档

在这里插入图片描述

失败
在这里插入图片描述

授权

//添加192.168.134网段
[root@centos webapps]# vim docs/META-INF/context.xml 
<Context antiResourceLocking="false" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.168\.134\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>

在这里插入图片描述

访问examples
//授权
[root@centos webapps]# vim examples/META-INF/context.xml 
<Context>
  <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                   sameSiteCookies="strict" />
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.168\.134\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>

在这里插入图片描述

其他的模块如果使用用不了,按照上图所演示的去配置就可以了

总结:
Tomcat是一个可靠、轻量级、跨平台的Java Web应用服务器,适用于许多中小型应用程序。它的工作原理基于Java Servlet和JSP规范,通过将请求分发给相应的Servlet或JSP来处理HTTP请求。虽然Tomcat在一些高级功能方面可能相对有限,但它作为一个开源项目,提供了一个可靠的基础,使得Java Web应用程序可以在其中运行。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值