公司网站案例,昆明网络推广哪里有,电影网,什么插件可以做网站访问量统计tomcat服务tomcat多实例部署 文章目录 tomcat服务tomcat多实例部署1.简介2.优缺点优点#xff1a;缺点#xff1a; 3.工作原理4.工作流程5.tomcat服务部署5.1.java环境安装5.2.拉取tomcat软件包5.3.解压部署5.4.启动tomcat服务5.5.访问tomcat的web页面5.…tomcat服务tomcat多实例部署 文章目录 tomcat服务tomcat多实例部署1.简介2.优缺点优点缺点 3.工作原理4.工作流程5.tomcat服务部署5.1.java环境安装5.2.拉取tomcat软件包5.3.解压部署5.4.启动tomcat服务5.5.访问tomcat的web页面5.6.尝试访问webapps目录中其他项目 6.tomcat多实例部署在同一台主机上部署多个tomcat服务环境说明6.1.配置前准备工作6.3.安装java环境6.4.拉取tomcat软件包6.5.解压安装tomcat6.6.更改端口号6.7.开启服务6.8.配置多实例测试网页6.9.访问测试 总结 1.简介
Tomcat是一个开源的Java Servlet容器可以作为Java Web应用程序的运行环境。它是Apache软件基金会的一个重要项目具有高性能、稳定可靠以及跨平台等特点。它实现了Java Servlet和JavaServer PagesJSP规范并提供了一个运行环境使得Java代码可以在Web服务器上执行。
tomcat就是传说中的中间件之一tomcat本身是一个容器专门用来运行java程序java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。
2.优缺点
优点
开源免费Tomcat是一个开源项目可以免费使用这使得它成为了一个广受欢迎的Java Web应用服务器。跨平台Tomcat可以在各种操作系统上运行包括Windows、Linux、macOS等。轻量级相比于其他一些Java应用服务器如WebLogic、WebSphere等Tomcat相对轻量级资源占用较少启动速度也相对较快。灵活性Tomcat可以作为一个独立的Web服务器使用也可以与其他Web服务器如Apache配合使用形成一个强大的Web服务器架构。
缺点
功能相对有限相对于一些商业的Java应用服务器Tomcat在一些高级特性和功能方面可能有所欠缺比如分布式事务、集群等方面的支持。管理界面相对简陋Tomcat的管理界面相对简单对于一些高级的管理需求可能不够满足。
3.工作原理 omcat的工作原理基于Java Servlet和JavaServer PagesJSP规范它充当了一个Java Web应用程序的运行环境和Web服务器。以下是Tomcat的工作原理的详细说明 启动TomcatTomcat作为一个独立的Java应用程序运行。通常你会使用命令行或启动脚本来启动Tomcat。一旦Tomcat启动它开始监听HTTP请求的到达。连接器ConnectorsTomcat通过连接器来监听HTTP请求。连接器是Tomcat的组件负责处理网络连接和接收HTTP请求。常见的连接器包括HTTP连接器用于处理HTTP请求和AJP连接器用于与其他Web服务器如Apache连接。每个连接器通常监听一个特定的端口比如HTTP连接器默认监听8080端口。容器ContainersTomcat包含了两种主要的容器引擎Engine和主机Host。引擎负责处理多个主机每个主机代表一个独立的域名或虚拟主机。主机包含一个或多个上下文Context每个上下文对应一个Web应用程序。容器负责处理Servlet和JSP的生命周期管理、请求分发和响应收集。Servlet容器当一个HTTP请求到达Tomcat后Tomcat会根据请求的URL来确定将请求交给哪个Servlet进行处理。Servlet容器是Tomcat的一部分它负责管理Servlet的生命周期包括实例化、初始化、调用和销毁。Servlet容器还负责将请求传递给适当的Servlet并将Servlet生成的响应返回给客户端。JSP引擎Tomcat还包含了一个JSP引擎用于处理JSP页面。当一个JSP页面被请求时JSP引擎将JSP编译成Servlet并交给Servlet容器来处理。生成的Servlet负责处理JSP页面的动态内容生成。部署描述符Deployment Descriptors每个Web应用程序通常包括一个部署描述符通常是一个web.xml文件它包含了关于应用程序的配置信息包括Servlet映射、过滤器配置、监听器配置等。Tomcat会读取这些描述符以了解如何处理请求。请求处理流程 Tomcat接收到HTTP请求后连接器将请求传递给适当的主机和上下文。主机和上下文确定哪个Servlet应该处理请求并将请求传递给Servlet容器。Servlet容器实例化和初始化Servlet调用其service()方法来处理请求。Servlet生成响应并将其返回给Servlet容器。Servlet容器将响应返回给主机和连接器最终发送给客户端。 关闭Tomcat当不再需要Tomcat服务时你可以通过命令行或脚本来关闭Tomcat。Tomcat会执行关闭过程释放资源并停止监听HTTP请求。 总之Tomcat的工作原理涉及连接器、容器、Servlet容器、JSP引擎以及部署描述符等多个组件它们协同工作来处理HTTP请求将请求传递给适当的Servlet或JSP生成响应并将其返回给客户端。这个过程使得Tomcat成为一个强大的Java Web应用服务器用于部署和运行Java Web应用程序。
4.工作流程
tomcat的工作原理基于Java Servlet和JSP规范。它充当一个Web服务器接收HTTP请求并将其传递给合适的Servlet或JSP进行处理。以下是Tomcat的基本工作流程
接收请求Tomcat作为一个Web服务器监听指定的端口默认为80或8080。当一个HTTP请求到达时Tomcat会接收并解析它。请求分发根据URL和部署在Tomcat中的应用程序配置Tomcat会决定将请求交给哪个Servlet或JSP进行处理。Servlet处理如果请求是一个Servlet请求Tomcat会将请求信息传递给相应的Servlet。Servlet会处理请求并生成响应然后将其发送回Tomcat。JSP处理如果请求是一个JSP请求Tomcat会将JSP文件编译成一个Servlet然后将请求信息传递给这个Servlet进行处理。Servlet再生成响应并将其返回给Tomcat。响应传递Tomcat接收到Servlet或JSP生成的响应后将其传递回客户端。
5.tomcat服务部署
服务器IP地址系统版本tomcat版本tomcat192.168.195.137centos 8apache-tomcat-9.0.80.tar.gz
首先关闭防火墙和selinux
[roottomcat ~]# systemctl disable --now firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[roottomcat ~]# setenforce 0
[roottomcat ~]# vim /etc/selinux/config
[roottomcat ~]# grep ^SELINUX /etc/selinux/config
SELINUXdisabled5.1.java环境安装
JDKJava Development Kit和JREJava Runtime Environment是Java开发和运行环境的两个重要组成部分它们之间有以下区别
JDK
功能JDK是Java开发工具包提供了开发Java应用程序所需的工具和资源包括编译器、调试器、开发文档、示例代码等。面向开发者JDK主要面向Java开发者用于编写、编译和调试Java代码。包含内容JDK包含JRE的所有内容并且还包含了用于开发Java应用程序的额外工具和库。
JRE
功能JRE是Java运行环境提供了Java应用程序运行所需的运行时环境和必要的库文件。面向用户JRE主要面向普通用户用于执行和运行Java应用程序。包含内容JRE包含Java虚拟机JVM和Java类库可以执行Java程序但不包含用于开发Java应用程序的工具和资源。
简而言之JDK适用于开发者提供了编译、调试和开发所需的工具和库。而JRE适用于用户用于运行Java应用程序不包含开发工具。如果你只是要运行Java程序只需要安装JRE即可。如果你要进行Java应用程序的开发需要安装JDK。
//安装jdk环境
[roottomcat ~]# rm -rf /etc/yum.repos.d/*
[roottomcat ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[roottomcat ~]# yum makecache
[roottomcat ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget vim
省略 . . .//查看安装的版本能够查看到版本则说明安装成功
[roottomcat ~]# 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)5.2.拉取tomcat软件包
进入tomcat官网
Apache Tomcat® - Welcome!
//拉取tomcat软件包
[roottomcat ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
--2023-10-10 13:41:29-- 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.80.tar.gz 100%[] 11.15M 25.2KB/s in 5m 55s 2023-10-10 13:47:25 (32.1 KB/s) - ‘apache-tomcat-9.0.80.tar.gz’ saved [11692853/11692853][roottomcat ~]# ls
anaconda-ks.cfg apache-tomcat-9.0.80.tar.gz5.3.解压部署
//解压至指定目录
[roottomcat ~]# tar xf apache-tomcat-9.0.80.tar.gz -C /usr/local/
[roottomcat ~]# ls /usr/local/
apache-tomcat-9.0.80 bin etc games include lib lib64 libexec sbin share src//设置tomcat软链接方便后续如果更换tomcat版本后也能直接使用
[roottomcat ~]# cd //usr/local/
[roottomcat local]# ll
total 0
drwxr-xr-x 9 root root 220 Oct 10 13:49 apache-tomcat-9.0.80
drwxr-xr-x. 2 root root 6 Aug 12 2018 bin
drwxr-xr-x. 2 root root 6 Aug 12 2018 etc
drwxr-xr-x. 2 root root 6 Aug 12 2018 games
drwxr-xr-x. 2 root root 6 Aug 12 2018 include
drwxr-xr-x. 2 root root 6 Aug 12 2018 lib
drwxr-xr-x. 2 root root 6 Aug 12 2018 lib64
drwxr-xr-x. 2 root root 6 Aug 12 2018 libexec
drwxr-xr-x. 2 root root 6 Aug 12 2018 sbin
drwxr-xr-x. 5 root root 49 Jul 20 11:24 share
drwxr-xr-x. 2 root root 6 Aug 12 2018 src
[roottomcat local]# ln -s apache-tomcat-9.0.80 tomcat
[roottomcat local]# ll
total 0
drwxr-xr-x 9 root root 220 Oct 10 13:49 apache-tomcat-9.0.80
drwxr-xr-x. 2 root root 6 Aug 12 2018 bin
drwxr-xr-x. 2 root root 6 Aug 12 2018 etc
drwxr-xr-x. 2 root root 6 Aug 12 2018 games
drwxr-xr-x. 2 root root 6 Aug 12 2018 include
drwxr-xr-x. 2 root root 6 Aug 12 2018 lib
drwxr-xr-x. 2 root root 6 Aug 12 2018 lib64
drwxr-xr-x. 2 root root 6 Aug 12 2018 libexec
drwxr-xr-x. 2 root root 6 Aug 12 2018 sbin
drwxr-xr-x. 5 root root 49 Jul 20 11:24 share
drwxr-xr-x. 2 root root 6 Aug 12 2018 src
lrwxrwxrwx 1 root root 20 Oct 10 13:51 tomcat - apache-tomcat-9.0.80
[roottomcat local]# cd tomcat/
[roottomcat tomcat]# pwd
//usr/local/tomcat
[roottomcat tomcat]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[roottomcat tomcat]# ls bin/
bootstrap.jar ciphers.sh daemon.sh setclasspath.bat startup.sh version.bat
catalina.bat commons-daemon.jar digest.bat setclasspath.sh tomcat-juli.jar version.sh
catalina.sh commons-daemon-native.tar.gz digest.sh shutdown.bat tomcat-native.tar.gz
catalina-tasks.xml configtest.bat makebase.bat shutdown.sh tool-wrapper.bat
ciphers.bat configtest.sh makebase.sh startup.bat tool-wrapper.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/下面命名一个自身名字的文件方便查找
[roottomcat tomcat]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[roottomcat tomcat]# vim /etc/ld.so.conf.d/tomcat.conf
[roottomcat tomcat]# cat /etc/ld.so.conf.d/tomcat.conf
/usr/local/tomcat/lib
[roottomcat tomcat]# ldconfig -v
ldconfig: Cant stat /libx32: No such file or directory
ldconfig: Path /usr/lib given more than once
ldconfig: Path /usr/lib64 given more than once
ldconfig: Cant stat /usr/libx32: No such file or directory
/usr/lib64//bind9-export:libisccfg-export.so.163 - libisccfg-export.so.163.0.4libisc-export.so.1104 - libisc-export.so.1104.0.0libirs-export.so.161 - libirs-export.so.161.0.0libdns-export.so.1107 - libdns-export.so.1107.1.0
/usr/local/tomcat/lib:
/lib:
/lib64:5.4.启动tomcat服务
//使用绝对路径执行/usr/local/tomcat/bin/下面的脚本tomcat不能写进环境变量放置后续更改tomcat版本后环境变量仍是之前的tomcat版本
[roottomcat tomcat]# pwd
//usr/local/tomcat
[roottomcat tomcat]# cd bin
[roottomcat bin]# pwd
//usr/local/tomcat/bin
[roottomcat 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.
[roottomcat bin]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
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 [::]:*
[roottomcat test]# ps -ef | grep tomcat //查看tomcat进程
root 1585 1 0 14:02 pts/0 00:00:06 /usr/bin/java -Djava.util.logging.config.file//usr/local/tomcat/conf/logging.properties -Djava.util.logging.managerorg.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize2048 -Djava.protocol.handler.pkgsorg.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK0027 -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 1640 1455 0 14:22 pts/0 00:00:00 grep --colorauto tomcat服务启动成功5.5.访问tomcat的web页面 在部署tomcat过程中网页存放目录在/usr/local/tomcat/webapps中里面可以存放我们的网页也可以放置app软件而我们上述所访问到的页面则来自webapp目录中的ROOT目录中的项目
[roottomcat tomcat]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[roottomcat tomcat]# cd webapps/
[roottomcat webapps]# ls
docs examples host-manager manager ROOT我们新建一个项目目录进行测试
[roottomcat webapps]# mkdir test cd test
[roottomcat test]# vim index.jsp
[roottomcat test]# cat index.jsp
html
headtitletest page/title
/head
body%out.println(Hellow World);%
/body
/html
[roottomcat test]# 访问test项目
访问那个项目就在端口后加哪个项目名不加则默认是ROOT
5.6.尝试访问webapps目录中其他项目 解决方法
进入tomcat的conf目录中修改tomcat-user.xml文件
[roottomcat tomcat]# cd conf/
[roottomcat conf]# ls
Catalina catalina.properties jaspic-providers.xml logging.properties tomcat-users.xml web.xml
catalina.policy context.xml jaspic-providers.xsd server.xml tomcat-users.xsd
[roottomcat conf]# vim tomcat-users.xml
[roottomcat conf]# tail -3 tomcat-users.xml
role rolenamemanager-gui/ //设置角色
user usernametomcat passwordtomcat123 rolesmanager-gui/ //设置用户密码并指定角色
/tomcat-users进入tomcat的项目文件webapps中任选一个项目
[roottomcat conf]# cd ../webapps/
[roottomcat webapps]# ls
docs examples host-manager manager ROOT test
[roottomcat webapps]# cd manager/
[roottomcat manager]# ls
css images index.jsp META-INF status.xsd WEB-INF xform.xsl
[roottomcat manager]# cd META-INF/
[roottomcat META-INF]# ls
context.xml
[roottomcat META-INF]# vim context.xml //在allow中加入本机的ip网段
[roottomcat META-INF]# grep -A1 Valve className context.xmlValve classNameorg.apache.catalina.valves.RemoteAddrValveallow192\.168\.195\.\d|127\.\d\.\d\.\d|::1|0:0:0:0:0:0:0:1 ///修改配置文件后重启服务
[roottomcat META-INF]# /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:
[roottomcat META-INF]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
[roottomcat META-INF]# ps -ef | grep tomcat
ps -ef | grep tomcat
root 1839 1455 0 15:06 pts/0 00:00:00 grep --colorauto tomcat
[roottomcat META-INF]# /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.
[roottomcat META-INF]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
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 [::]:*
[roottomcat META-INF]# ps -ef | grep tomcat
ps -ef | grep tomcat
root 1852 1 11 15:06 pts/0 00:00:01 /usr/bin/java -Djava.util.logging.config.file/usr/local/tomcat/conf/logging.properties -Djava.util.logging.managerorg.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize2048 -Djava.protocol.handler.pkgsorg.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK0027 -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 1883 1455 0 15:06 pts/0 00:00:00 grep --colorauto tomcat再次访问 其他项目目录亦是如此找到项目文件中的context.xml文件添加本机IP网段即可
6.tomcat多实例部署在同一台主机上部署多个tomcat服务
环境说明
tomcat实例tomcat版本端口号tomcat-1tomcat-9.0.808005、8080、8443tomcat-2tomcat-9.0.808006、8081、8444
6.1.配置前准备工作
关闭防火墙和seliunx
[roottomcat ~]# systemctl disable --now firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[roottomcat ~]# setenforce 0配置yum源建议使用阿里云的centos8的源
[roottomcat ~]# rm -rf /etc/yum.repos.d/*
[roottomcat ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[roottomcat ~]# yum clean all
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
12 files removed
[roottomcat ~]# yum makecache6.3.安装java环境
[roottomcat ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget vim6.4.拉取tomcat软件包
[roottomcat ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
--2023-10-11 10:29:26-- 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.80.tar.gz 100%[] 11.15M 358KB/s in 57s 2023-10-11 10:30:25 (199 KB/s) - ‘apache-tomcat-9.0.80.tar.gz’ saved [11692853/11692853][roottomcat ~]# ls
anaconda-ks.cfg apache-tomcat-9.0.80.tar.gz6.5.解压安装tomcat
//安装tomcat-1
[roottomcat ~]# ls
anaconda-ks.cfg apache-tomcat-9.0.80.tar.gz
[roottomcat ~]# tar xf apache-tomcat-9.0.80.tar.gz
[roottomcat ~]# mv apache-tomcat-9.0.80 /usr/local/tomcat-1
[roottomcat ~]# ll -d /usr/local/tomcat-1
drwxr-xr-x. 9 root root 220 Oct 11 10:32 /usr/local/tomcat-1//安装tomcat-2
[roottomcat ~]# ls
anaconda-ks.cfg apache-tomcat-9.0.80.tar.gz
[roottomcat ~]# tar xf apache-tomcat-9.0.80.tar.gz
[roottomcat ~]# mv apache-tomcat-9.0.80 /usr/local/tomcat-2
[roottomcat ~]# ll -d /usr/local/tomcat-2
drwxr-xr-x. 9 root root 220 Oct 11 10:33 /usr/local/tomcat-26.6.更改端口号
修改tomcat-2的端口防止与tomcat-1的端口冲突tomcat-1保持默认
//默认的tomcat关闭端口为8005访问端口为8080下列命令中我们只用将tomcat-2的关闭端口和访问端口更改为其他空闲端口即可[roottomcat ~]# cd /usr/local/tomcat-2/conf/
[roottomcat conf]# ls
catalina.policy context.xml jaspic-providers.xsd server.xml tomcat-users.xsd
catalina.properties jaspic-providers.xml logging.properties tomcat-users.xml web.xml
[roottomcat conf]# vim server.xml
[roottomcat conf]# grep -A3 Server port server.xml
Server port8006 shutdownSHUTDOWNListener classNameorg.apache.catalina.startup.VersionLoggerListener /!-- Security listener. Documentation at /docs/config/listeners.htmlListener classNameorg.apache.catalina.security.SecurityListener /
[roottomcat conf]# grep -A3 Connector port server.xmlConnector port8081 protocolHTTP/1.1connectionTimeout20000redirectPort8444maxParameterCount10006.7.开启服务
//开启tomcat-1服务
[roottomcat ~]# /usr/local/tomcat-1/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat-1
Using CATALINA_HOME: /usr/local/tomcat-1
Using CATALINA_TMPDIR: /usr/local/tomcat-1/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat-1/bin/bootstrap.jar:/usr/local/tomcat-1/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[roottomcat ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
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-2服务
[roottomcat ~]# /usr/local/tomcat-2/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat-2
Using CATALINA_HOME: /usr/local/tomcat-2
Using CATALINA_TMPDIR: /usr/local/tomcat-2/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat-2/bin/bootstrap.jar:/usr/local/tomcat-2/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[roottomcat ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 1 [::ffff:127.0.0.1]:8006 *:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 100 *:8081 *:*
LISTEN 0 128 [::]:22 [::]:*6.8.配置多实例测试网页
//配置tomcat-1的测试网页index.jsp
[roottomcat ~]# cd /usr/local/tomcat-1/webapps/
[roottomcat webapps]# mkdir test cd test
[roottomcat test]# vim index.jsp
[roottomcat test]# cat index.jsp
html
headtitletest page/title
/head
body%out.println(my name is tomcat-1);%
/body
/html//配置tomcat-2的测试页面
[roottomcat ~]# cd /usr/local/tomcat-2/webapps/
[roottomcat webapps]# mkdir test cd test
[roottomcat test]# vim index.jsp
[roottomcat test]# cat index.jsp
html
headtitletest page/title
/head
body%out.println(my name is tomcat-2);%
/body
/html6.9.访问测试
访问tomcat-1的8080端口
访问tomcat-2的8081端口
总结
Tomcat是一个可靠、轻量级、跨平台的Java We关闭b应用服务器适用于许多中小型应用程序。它的工作原理基于Java Servlet和JSP规范通过将请求分发给相应的Servlet或JSP来处理HTTP请求。虽然Tomcat在一些高级功能方面可能相对有限但它作为一个开源项目提供了一个可靠的基础使得Java Web应用程序可以在其中运行。