文章目录 前言一、Tomcat 的概念1. Tomcat 核心组件1.1 什么是 servlet1.2 什么是 JSP 2. Tomcat 功能组件结构2.1 Container 结构分
Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 wab应用服务器,是 Apache软件基金会的 Jakarta项目中的一个核心项目,由 Apache 、Sun 和其他一些公司及个人共同开发而成。
Tomcat属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 jsP 程序的首选。一般来说,Tomcat 虽然和 Apache 或着 Nginx 这些WEB服务器一样,具有处理 html 页面的功能,然而由于其处理静态 HTML 的能力远不及 Apache 或者 Nginx,所以Tomcat 通常是作为一个Servlet 和 JSP 容器,单独运行在后端。
Tomcat 由一系列的组件构成,其中核心的组件有三个:
容器 | 功能 |
---|---|
Web 容器 | 完成 Web服务器的功能。 |
Servlet 容器 | 名字为 catalina,用于 Servlet 代码。 |
JSP 容器 | 于将 JSP动态网页翻译成 Servlet 代码。 |
因此 Tomcat 是 Web应用服务器,也是要给 Servlet/JSP 容器,Tomcat 作为 Servlet 容器,负责处理客户的 .jsp 动态页面的请求,把请求传送给 Servlet,并将 Servlet 的响应传送回给客户。
Servlet 是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。
<%
开头,以 %>
结束。Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector
,和负责处理请求的容器 Containe
r。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service
。每个 Tomcat 服务器可以管理多个 Service
。
Connector
:负责对外接收和响应请求。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。Container
:负责对内处理业务逻辑。其内部由 Engine、Host、Context和Wrapper 四个容器组成,用于管理和调用 Servlet 相关逻辑。Service
:对外提供的 Web 服务。主要包含 Connector 和 Container 两个核心组件,以及其他功能组件。Tomcat 可以管理多个 Service,且各 Service 之间相互独立。每个 Service 会包含一个 Container
容器。在 Container
内部包含了 4 个子容器,其作用分别是:
Engine
:引擎,用来管理多个虚拟主机,一个 Service 最多只能有一个 Engine
;Host
:代表一个虚拟主机,也可以叫站点,通过配置 Host 就可以添加站点;Context
:代表一个 Web 应用,包含多个 Servlet 封装器;Wrapper
:封装器,容器的最底层。每一 Wrapper
封装着一个 Servlet,负责对象实例的创建、执行和销毁功能。 Engine
、Host
、Context
和 Wrapper
,这四个容器之间属于父子关系。
容器 由一个引擎(Engine)可以管理多个虚拟主机(Host)。每个虚拟主机可以管理多个 Web 应用(Context)。每个 Web 应用会有多个 Servlet 封装器(Wrapper)。
用户在浏览器中输入网址,请求被发送到本机端口 8080,被在那里监听的 Connector
获得;
Connector
把该请求交给它所在的 Service 的 Engine
(Container)来处理,并等待 Engine
的回应;
请求在 Engine
、Host
、Context
和 Wrappe
r 这四个容器之间层层调用,最后在 Servlet 中执行对应的业务逻辑、数据存储等。
执行完之后的请求响应在 Context
、Host
、Engine
容器之间层层返回,最后返回给 Connector
,并通过 Connector
返回给客户端。
用户请求(访问80端口)————>发送请求发送给tomcat————>tomcat有一个端口在监听8080端口)从8080端口进入流量的会被在此端口的线程监听到给与我们的web容器进行处理(有index.html页面显示出来 从8080端口来时会有交互界面 会读取到index.jsp这种java代码)但是java代码无法直接使用————>需要利用到jsp容器将index.jsp中的java的servlet代码进行翻译servlet容器处理 通过catalina程序/脚本来处理从JSP容器这过来的servlet代码并不是直接对接Mysql数据库而是直接对接用户的请求例如app中的某个功能模块比方说看个人信息 servlet容器与app接是api进行对接(具体的URL)数据流向最终会通过用户请求内容 去mysql数据库寻找相应的内容最后返回给用户
目录 | 功能 |
---|---|
bin | 存放启动和关闭 Tomcat 的脚本文件,比较常用的是 catalina.sh 、startup.sh 、shutdown.sh 三个文件 |
conf | 存放 Tomcat 服务器的各种配置文件,比较常用的是 server.xml 、context.xml 、tomcat-users.xml 、web.xml 四个文件。 |
lib | 存放Tomcat日志 |
temp | 存放Tomcat运行时产生的文件 |
webapps | 存放项目资源的目录 |
work | Tomcat工作目录,一般清除Tomcat缓存的时候会使用到 |
文件名 | 说明 |
---|---|
server.xml | 主配置文件 |
web.xml | 每个webapp只有“部署"后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认部署相关的配置,每个web应用也可以使用专用配置文件,来覆盖全局文件 |
context.xml | 用于定义所有web应用均需加载的Context配置,此文件为所有的webapps提供默认配置,每个web应用也可以使用自已专用的配置,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF/目录中,覆盖全局的文件 |
tomcat-users.xml | 用户认证的账号和密码文件 |
catalina.policy | 当使用security选项启动omcat时,用于为tomcat设置安全策略 |
catalina.properties | Tomcat环境变量的配置,用于设定类加载器路径,以及一些与JVM调优相关参数 |
logging.properties | Tomcat日志系统相关的配置,可以修改日志级别和日志路径等 |
在部署 Tomcat 之前必须安装好 jdk ,因为 jdk 是 Tomcat 运行的必要环境。
[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# systemctl disable firewalld[root@localhost ~]# setenforce 0[root@localhost ~]# cd /opt/[root@localhost opt]# lsapache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm rh
[root@localhost opt]# cd /opt###查询指定软件包的文件列表[root@localhost opt]# rpm -qpl jdk-8u201-linux-x64.rpm ###安装jdk[root@localhost opt]# rpm -ivh jdk-8u201-linux-x64.rpm ###查看jdk版本号[root@localhost opt]# java -versionopenjdk version "1.8.0_262"OpenJDK Runtime Environment (build 1.8.0_262-b10)OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
[root@localhost opt]# vim /etc/profile.d/java.shexport JAVA_HOME=/usr/java/jdk1.8.0_201-amd64export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/libexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH###刷新配置文件[root@localhost opt]# source /etc/profile.d/java.sh[root@localhost opt]# java -versionjava version "1.8.0_201"Java(TM) SE Runtime Environment (build 1.8.0_201-b09)Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
小知识:
JDK
:java development kit (java开发工具)。JRE
:java runtime environment (java运行时环境)。JVM
:java virtuak Machine (java虚拟机),使java程序可以在多种平台上运行class文件。CLASSPATH
:告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件。tools.jar
:是系统用来编译一个类的时候用到的,即执行javac的时候用到。dt.jar
:dt.jar是关于运行环境的类库,主要是swing包。验证思路
首先使用文本工具编写java源代码,比如 Hello.java ;在命令行中,输入命令:javac Hello.java,对源代码进行编译,生成 class 字节码文件;编译完成后,如果没有报错信息,输入命令:java Hello,运行 class 字节码文件,由 JVM 对字节码进行解释和运行,打印 “Hello World”。
实际步骤
[root@localhost opt]# vim Hello.javapublic class Hello { public static void main(String[] args){ System.out.println("Hello world!"); }}[root@localhost opt]# javac Hello.java[root@localhost opt]# lsapache-tomcat-9.0.16.tar.gz Hello.class Hello.java jdk-8u201-linux-x64.rpm rh[root@localhost opt]# java HelloHello world!
类名、接口名命令:英文大小写字母、数字字符、$和_,不能使用关键字和数字开头;
一个单词命名时第一个单词的首字母要大写;多单词组成时,所有单词的首字母大写:XxxYyyZzz(大驼峰命名法)
[root@localhost ~]# cd /opt[root@localhost opt]# tar zxvf apache-tomcat-9.0.16.tar.gz[root@localhost opt]# mv apache-tomcat-9.0.16 /usr/local/tomcat[root@localhost opt]# cd /usr/local/tomcat/bin[root@localhost bin]# lsbootstrap.jar commons-daemon-native.tar.gz makebase.sh tomcat-juli.jarcatalina.bat configtest.bat setclasspath.bat tomcat-native.tar.gzcatalina.sh configtest.sh setclasspath.sh tool-wrapper.batcatalina-tasks.xml daemon.sh shutdown.bat tool-wrapper.shciphers.bat digest.bat shutdown.sh version.batciphers.sh digest.sh startup.bat version.shcommons-daemon.jar makebase.bat startup.sh
后台启动方式一
###后台启动tomcat[root@localhost bin]# /usr/local/tomcat/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64/jreUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.###看是否启动成功[root@localhost bin]# netstat -lntp | grep 8080tcp6 0 0 :::8080 :::* LISTEN 3862/java ###停止tomcat[root@localhost bin]# /usr/local/tomcat/bin/shutdown.sh Using CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64/jreUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar###看是否停止成功[root@localhost bin]# netstat -lntp | grep 8080
后台启动方式二
###后台启动tomcat[root@localhost bin]# /usr/local/tomcat/bin/catalina.sh startUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64/jreUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.###看是否启动成功[root@localhost bin]# netstat -lntp | grep 8080tcp6 0 0 :::8080 :::* LISTEN 4461/java ###停止tomcat[root@localhost bin]# /usr/local/tomcat/bin/catalina.sh stopUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64/jreUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar###看是否停止成功[root@localhost bin]# netstat -lntp | grep 8080
前台启动方式
###前台启动[root@localhost bin]# /usr/local/tomcat/bin/catalina.sh runUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64/jreUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar05-Jun-2023 22:19:11.193 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.1605-Jun-2023 22:19:11.199 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.构建: Feb 4 2019 16:30:29 UTC###前台停止ctrl+c###看是否停止成功[root@localhost bin]# netstat -lntp | grep 8080
浏览器查看
Http://192.168.145.30:8080
###编写tomcat服务文件[root@localhost system]# vim /usr/lib/systemd/system/tomcat.service[Unit]Description=tomcat serverWants=network-online.targetAfter=network.target[Service]Type=forkingEnvironment="JAVA_HOME=/usr/java/jdk1.8.0_201-amd64"Environment="PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"Environment="CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"ExecStart=/usr/local/tomcat/bin/startup.shExecStop=/usr/local/tomcat/bin/shutdown.shRestart=on-failure[Install]WantedBy=multi-user.target###重新加载服务[root@localhost system]# systemctl daemon-reload[root@localhost system]# systemctl start tomcat[root@localhost system]# systemctl status tomcat● tomcat.service - tomcat server Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since 一 2023-06-05 22:35:22 CST; 15s aGo Process: 6029 ExecStart=/usr/local/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 6040 (catalina.sh) Tasks: 46 CGroup: /system.slice/tomcat.service ├─6040 /bin/sh /usr/local/tomcat/bin/catalina.sh start └─6041 /usr/java/jdk1.8.0_201-amd64/bin/java -Djava.util.logging.config.file...6月 05 22:35:22 localhost.localdomain systemd[1]: Starting tomcat server...6月 05 22:35:22 localhost.localdomain startup.sh[6029]: Using CATALINA_BASE: /usr/l...t6月 05 22:35:22 localhost.localdomain startup.sh[6029]: Using CATALINA_HOME: /usr/l...t6月 05 22:35:22 localhost.localdomain startup.sh[6029]: Using CATALINA_TMPDIR: /usr/l...p6月 05 22:35:22 localhost.localdomain startup.sh[6029]: Using JRE_HOME: /usr/j...46月 05 22:35:22 localhost.localdomain startup.sh[6029]: Using CLASSPATH: /usr/l...r6月 05 22:35:22 localhost.localdomain startup.sh[6029]: Tomcat started.6月 05 22:35:22 localhost.localdomain systemd[1]: Started tomcat server.Hint: Some lines were ellipsized, use -l to show in full.[root@localhost system]# systemctl stop tomcat[root@localhost system]# systemctl status tomcat● tomcat.service - tomcat server Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: inactive (dead)6月 05 22:35:22 localhost.localdomain startup.sh[6029]: Using CLASSPATH: /usr/l...r6月 05 22:35:22 localhost.localdomain startup.sh[6029]: Tomcat started.6月 05 22:35:22 localhost.localdomain systemd[1]: Started tomcat server.6月 05 22:35:43 localhost.localdomain systemd[1]: Stopping tomcat server...6月 05 22:35:43 localhost.localdomain shutdown.sh[6112]: Using CATALINA_BASE: /usr/...t6月 05 22:35:43 localhost.localdomain shutdown.sh[6112]: Using CATALINA_HOME: /usr/...t6月 05 22:35:43 localhost.localdomain shutdown.sh[6112]: Using CATALINA_TMPDIR: /usr/...p6月 05 22:35:43 localhost.localdomain shutdown.sh[6112]: Using JRE_HOME: /usr/...46月 05 22:35:43 localhost.localdomain shutdown.sh[6112]: Using CLASSPATH: /usr/...r6月 05 22:35:43 localhost.localdomain systemd[1]: Stopped tomcat server.Hint: Some lines were ellipsized, use -l to show in full.
service文件含义解释
[Unit] 表示这是基础信息Description 是描述After 是在那个服务后面启动,一般是网络服务启动后启动[Service] 表示这里是服务信息Type 是服务类型PIDFile 是服务的pid文件路径, 开启后,必须在tomcat的bin/catalina.sh中加入CATALINA_PID参数ExecStart 是启动服务的命令ExecReload 是重启服务的命令ExecStop 是停止服务的指令[Install] 表示这是是安装相关信息WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
第一次启动tomcat可能会发现 Tomcat 启动很慢,默认情况下可能会需要几十秒,可以修改jdk参数进行改。
[root@localhost ~]# vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security###--117行--修改###把random改成urandom,使数据流更快securerandom.source=file:/dev/urandom###启动tomcat服务[root@localhost ~]# systemctl start tomcat###查看是否启动成功[root@localhost ~]# netstat -lntp | grep 8080tcp6 0 0 :::8080 :::* LISTEN 7045/java
tomcat 启动慢的原因是随机数产生遭到阻塞,遭到阻塞的原因是 熵池大小 。
/dev/random
:阻塞型,读取它就会产生随机数据,但该数据取决于熵池噪声,当熵池空了,对/dev/random 的读操作也将会被阻塞。/dev/urandom
:非阻塞的随机数产生器,它会重复使用熵池中的数据以产生伪随机数据。这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random的。它可以作为生成较低强度密码的伪随机数生成器,不建议用于生成高强度长期密码。很多时候公司会有多个项目需要运行,一般不会是在一台服务器上运行多个 Tomcat 服务,这样会消耗太多的系统资源。此时, 就需要使用到 Tomcat 虚拟主机。
[root@localhost ~]# mkdir /usr/local/tomcat/webapps/accp[root@localhost ~]# mkdir /usr/local/tomcat/webapps/benet[root@localhost ~]# echo "This is accp page
" > /usr/local/tomcat/webapps/accp/index.jsp[root@localhost ~]# echo "This is benet page
" > /usr/local/tomcat/webapps/benet/index.jsp
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml--165行前--插入 ###停止tomcat[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh###启动tomcat[root@localhost ~]# /usr/local/tomcat/bin/startup.sh###查看是否启动成功[root@localhost ~]# netstat -lntp | grep 8080tcp6 0 0 :::8080 :::* LISTEN 7045/java
Host字段含义:
name
:主机名
appBase
:Tomcat程序工作目录,即存放web应用程序的目录;相对路径为webapps,绝对路径为 /usr/local/tomcat/webapps
unpackWARs
:在启用此webapps时是否对WAR格式的归档文件先进行展开;默认为true
autoDeploy
:在Tomcat处于运行状态时放置于appBase目录中的应用程序文件是否自动进行deploy;默认为true
xmlValidation
:是否验证xml文件执行有效性检验的标志
xmlNamespaceAware
:是否启用xml命名空间,设置该值与xmlValidation
为 true
,表示对web.xml文件执行有效性检验
Context字段含义:
docBase
:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;
path
:相对于Web服务器根路径而言的URI;如果为空
,则表示为此webapp的根路径 /
;
reloadable
:是否允许重新加载此context相关的Web应用程序的类;默认为 false
###配置临时DNS解析文件[root@localhost ~]# echo "192.168.145.30 www.accp.com www.benet.com" >> /etc/hosts浏览器访问 http://www.accp.com:8080/浏览器访问 http://www.benet.com:8080/
HTTP 请求过程:
www.accp.com
,并且虚拟主机的目录是webapps。所以请求找到了 tomcat/webapps 目录。[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# systemctl disable firewalld[root@localhost ~]# setenforce 0[root@localhost ~]# cd /opt/[root@localhost opt]# lsapache-tomcat-9.0.16.tar.gz jdk-8u91-linux-x64.tar.gz rh###解压[root@localhost opt]# tar xf jdk-8u91-linux-x64.tar.gz [root@localhost opt]# mv jdk1.8.0_91/ /usr/local/[root@localhost opt]# cd [root@localhost ~]# vim /etc/profileexport JAVA_HOME=/usr/local/jdk1.8.0_91export JRE_HOME=$JAVA_HOME/jreexport CATALINA=.:$JAVA_HOME/lib:$JRE_HOME/libexport PATH=%JAVA_HOME/bin:$JRE_HOME/bin:$PATH###加载文件[root@localhost ~]# source /etc/profile[root@localhost ~]# java -versionjava version "1.8.0_91"Java(TM) SE Runtime Environment (build 1.8.0_91-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
[root@localhost opt]# tar zxvf apache-tomcat-9.0.16.tar.gz###创建目录[root@localhost opt]# mkdir /usr/local/tomcat[root@localhost opt]# cd /usr/local/tomcat/###移动tomcat到/usl/local/tomcat/改名为tomcat1[root@localhost tomcat]# mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1###复制 tomcat1 改名为 tomcat2[root@localhost tomcat]# cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2[root@localhost tomcat]# lstomcat1 tomcat2
[root@localhost ~]# vim /etc/profile.d/tomcat.sh#tomcat1export CATALINA_HOME1=/usr/local/tomcat/tomcat1export CATALINA_BASE1=/usr/local/tomcat/tomcat1export TOMCAT_HOME1=/usr/local/tomcat/tomcat1#tomcat2export CATALINA_HOME2=/usr/local/tomcat/tomcat2export CATALINA_BASE2=/usr/local/tomcat/tomcat2export TOMCAT_HOME2=/usr/local/tomcat/tomcat2[root@localhost ~]# source /etc/profile.d/tomcat.sh
要求各 tomcat 实例配置不能有重复的端口号
[root@localhost ~]# vim /usr/local/tomcat/tomcat2/conf/server.xml###22行,修改Server prot,默认为8005 -> 修改为8006###69行,修改Connector port,HTTP/1.1 默认为8080 -> 修改为8081 修改为8010
第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器默认监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。
另外还有两个常用的端口号分别是8005、8443,其中8005是复制关闭tomcat服务使用,8443是负责https请求连接。
[root@localhost ~]# cd /usr/local/tomcat/tomcat1/bin/[root@localhost bin]# vim startup.sh# -----------------------------------------------------------------------------# Start Script for the CATALINA Server# -----------------------------------------------------------------------------##添加以下内容export CATALINA_BASE=$CATALINA_BASE1export CATALINA_HOME=$CATALINA_HOME1export TOMCAT_HOME=$TOMCAT_HOME1[root@localhost bin]# vim shutdown.sh# -----------------------------------------------------------------------------# Stop script for the CATALINA Server# -----------------------------------------------------------------------------export CATALINA_BASE=$CATALINA_BASE1export CATALINA_HOME=$CATALINA_HOME1export TOMCAT_HOME=$TOMCAT_HOME1[root@localhost tomcat1]# cd /usr/local/tomcat/tomcat1/bin/[root@localhost bin]# vim startup.sh# -----------------------------------------------------------------------------# Start Script for the CATALINA Server# -----------------------------------------------------------------------------export CATALINA_BASE=$CATALINA_BASE2export CATALINA_HOME=$CATALINA_HOME2export TOMCAT_HOME=$TOMCAT_HOME2[root@localhost bin]# vim shutdown.sh# -----------------------------------------------------------------------------# Stop script for the CATALINA Server# -----------------------------------------------------------------------------export CATALINA_BASE=$CATALINA_BASE2export CATALINA_HOME=$CATALINA_HOME2export TOMCAT_HOME=$TOMCAT_HOME2
[root@localhost ~]# /usr/local/tomcat/tomcat1/bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat/tomcat1Using CATALINA_HOME: /usr/local/tomcat/tomcat1Using CATALINA_TMPDIR: /usr/local/tomcat/tomcat1/tempUsing JRE_HOME: /usrUsing CLASSPATH: /usr/local/tomcat/tomcat1/bin/bootstrap.jar:/usr/local/tomcat/tomcat1/bin/tomcat-juli.jarTomcat started.[root@localhost ~]# /usr/local/tomcat/tomcat2/bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat/tomcat2Using CATALINA_HOME: /usr/local/tomcat/tomcat2Using CATALINA_TMPDIR: /usr/local/tomcat/tomcat2/tempUsing JRE_HOME: /usrUsing CLASSPATH: /usr/local/tomcat/tomcat2/bin/bootstrap.jar:/usr/local/tomcat/tomcat2/bin/tomcat-juli.jarTomcat started[root@localhost ~]# netstat -lntp | grep javatcp6 0 0 :::8080 :::* LISTEN 12737/java tcp6 0 0 :::8081 :::* LISTEN 12802/java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 12737/java tcp6 0 0 127.0.0.1:8006 :::* LISTEN 12802/java tcp6 0 0 :::8009 :::* LISTEN 12737/java tcp6 0 0 :::8010 :::* LISTEN 12802/java
http://192.168.145.45:8080http://192.168.145.45:8081
来源地址:https://blog.csdn.net/datangda/article/details/131052427
--结束END--
本文标题: 【Web服务器】Tomcat的部署
本文链接: https://lsjlt.com/news/397845.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0