tomcat配置文件和web站点部署(zrlog)简介
一.tomcat/apache-tomcat-8.5.70/conf/server.xml组件类别介绍
1.类别
2.Connector参数
3.host参数
4.Context参数
二.web站点部署(以zrlog为例)
1.将zrlog的war包传到webapps下面
2.在mysql数据库中创建zrlog用户并赋予权限
3.完成安装向导,登录管理界面即可
一.tomcat/apache-tomcat-8.5.70/conf/server.xml组件类别介绍
1.类别
顶级组件 | 位于整个配置的顶层 | server | 示一个运行于 JVM 中的 tomcat 实例 |
容器类组件 | 可以包含其他组件的组件 | service | 将 connector 关联至 engine ,因此一个 service 内部可以有多个 connector , 但只能有一 个引擎engine, 一般情况下一个 server 内部只有一个service |
engine | 核心容器组件, catalina 引擎,负责通过 connector 接收用户请求,并把请求转至对应的虚拟主机host | ||
host | 类似于 httpd 中的虚拟主机,一般支持基于 FQDN 的虚拟主机 | ||
context | 定义一个应用程序,是一个最内层的容器类组件(不能再嵌套)。配置 context 的主要目的时指定对应的webapp 的根目录,类似于 httpd 的 alias, 还能为 webapp 指定额外的属性,如部署方式等 | ||
realm(容器类组件的一部分) | 用于处理用户身份验证和授权。它负责连接Tomcat容器与后端的用户数据库,比如LDAP、数据库、文件等,以验证用户的身份并确定其权限,关联用户认证库。认证库又分为 UserDatabaseRealm(使用 JNDI 自定义的用户认证库)、MemoryRealm(认证信息定义在 tomcat-users.xml 中)和JDBCRealm(认证信息定义在数据库中,并通过 JDBC 连接至数据库中查找认证用户) | ||
连接器组件 | 连接用户请求到tomcat | Connector | 接收用户请求,类似于httpd的listen配置监听端口 |
被嵌套类组件 | 位于容器中,不能包含其他组件 | Valve | 阀门,拦截请求并在将其转至对应的 webapp 前进行某种处理操作,可以用于任何容器中,比 如记录日志 (access log valve) 、基于 IP 做访问控制 (remote address filter valve) |
logger | 日志记录器,用于记录组件内部的状态信息,可以用于除 context 外的任何容器中 |
2.Connector参数
参数 | 含义 |
port | 指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求。 |
address | 指定连接器监听的地址,默认为所有地址(即 0.0.0.0 ) |
protocol | 连接器使用的协议,支持 HTTP 和 AJP 。 AJP ( Apache Jserv Protocol )专 用于 tomcat 与 apache 建立通信的, 在 httpd 反向代理用户请求至 tomcat 时使用(可见 Nginx 反向代理时不可用 AJP 协议) |
minProcessors/maxProcessors | 服务器启动时至少/最大创建的处理请求的线程数 |
enableLookups | 如果为 true ,则可以通过调用 request.getRemoteHost() 进行 DNS 查询来得到 远程客户端的实际主机名,若为 false 则不进行 DNS 查询,而是返回其 ip 地址 |
redirectPort | 指定服务器正在处理 http 请求时收到了一个 SSL 传输请求后重定向的端口 号 |
acceptCount | 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列 中的请求数,超过这个数的请求将不予处理 |
connectionTimeout | 指定超时的时间数 ( 以毫秒为单位 ) |
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
3.host参数
参数 | 含义 |
name | 指定主机名 |
appBase | 应用程序基本目录,即存放应用程序的目录, 一般为appBase="webapps" ,是相对于 CATALINA_HOME 而言的,也可以写绝对路径。 |
unpackWARs | 如果为 true ,则 tomcat 会自动将 WAR 文件解压,否则不解压,直接从 WAR 文件中运行应用程序 |
autoDeploy | 在 tomcat 启动时,是否自动部署 |
xmlValidation | 是否启动 xml 的校验功能,一般 xmlValidation="false" |
xmlNamespaceAware | 检测名称空间,一般 xmlNamespaceAware="false" |
<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t "%r" %s %b" /></Host>
4.Context参数
参数 | 含义 |
Context | 表示一个 web 应用程序,通常为 WAR 文件 |
docBase | 应用程序的路径或者是 WAR 文件存放的路径 , 也可以使用相对路径,起始路径为此Context所属 Host 中 appBase 定义的路径 |
path | 表示此 web 应用程序的 url 的前缀,这样请求的 url 为 http://本机IP:8080/path/ |
reloadable | 这个属性非常重要,如果为 true ,则 tomcat 会自动检测应用程序的 /WEB-INF/lib 和 /WEB-INF/classes 目录的变化,自动装载新的应用程序,可以在不重启 tomcat 的 情况下改变应用程序 |
二.web站点部署(以zrlog为例)
1.将zrlog的war包传到webapps下面
[root@localhost webapps]# ll
total 11320
drwxr-x--- 15 tomcat tomcat 4096 Aug 6 20:47 docs
drwxr-x--- 7 tomcat tomcat 99 Aug 6 20:47 examples
drwxr-x--- 6 tomcat tomcat 79 Aug 6 20:47 host-manager
drwxr-x--- 6 tomcat tomcat 114 Aug 6 20:47 manager
drwxr-x--- 3 tomcat tomcat 223 Aug 6 20:47 ROOT
drwxr-x--- 8 tomcat tomcat 111 Aug 7 16:27 zrlog
-rw-r--r-- 1 root root 11585571 Aug 5 11:58 zrlog.war
[root@localhost webapps]# pwd
/usr/local/tomcat/apache-tomcat-8.5.70/webapps
2.在mysql数据库中创建zrlog用户并赋予权限
mysql8.0 [(none)]>create user 'zrlog'@'localhost' identified by 'Zrlog@317418';
Query OK, 0 rows affected (0.00 sec)mysql8.0 [(none)]>grant all privileges on *.* to 'zrlog'@'localhost';
Query OK, 0 rows affected (0.02 sec)mysql8.0 [(none)]>flush privileges;
Query OK, 0 rows affected (0.00 sec)
3.完成安装向导,登录管理界面即可
相关文章:

tomcat配置文件和web站点部署(zrlog)简介
一.tomcat/apache-tomcat-8.5.70/conf/server.xml组件类别介绍 1.类别 2.Connector参数 3.host参数 4.Context参数 二.web站点部署(以zrlog为例) 1.将zrlog的war包传到webapps下面 2.在mysql数据库中创建zrlog用户并赋予权限 3.完成安装向导,登录管理界面即可…...

elementui实现当前页全选+所有全选+翻页保持选中状
原文来自:https://blog.csdn.net/sumimg/article/details/121693305?spm1001.2101.3001.6650.1&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-121693305-blog-127570059.235%5Ev38%5Epc_relevant_anti_t3&depth_1-utm…...
Opencv项目实战:24 石头剪刀布
目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示与部分讲解 pyzjr库...

Qt--QPlugin插件
写在前面 Qt–动态链接库一文中提到,动态方式加载dll只能加载 extern "C“ 的导出函数,而无法加载类,因此可以使用Qt提供的插件来实现导出类的动态加载。 QPlugin是Qt插件框架的一部分,是一种轻量级的插件系统,…...

公会发展计划 (GAP) 第 4 季:塑造 YGG 的成就版图
基于前三个赛季所取得的成果,Yield Guild Games(YGG)自豪地宣布推出 公会发展计划(GAP)第 4 季。公会最近的一些精英成员将在本季加入公会,公会成员将在全新的任务中磨练自己的技能,建立自己在 …...
ExpressJS教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 Express是基于Node.js平台,快速、开放、极简的Web开发框架;通俗的理解:Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的;Express的本质:就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法。ExpressJS是一个Web…...

时序预测 | MATLAB实现BO-BiLSTM贝叶斯优化双向长短期记忆神经网络时间序列预测
时序预测 | MATLAB实现BO-BiLSTM贝叶斯优化双向长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现BO-BiLSTM贝叶斯优化双向长短期记忆神经网络时间序列预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-BiLSTM贝叶斯优化双向长短期记忆…...

HIVE优化之不需要参数优化
#1.数据倾斜 什么是数据倾斜? 一部分数据多 一部分数据少 造成的结果: MR运行过慢 主要是shuffle和reduce过程慢 分组聚合导致数据倾斜 Hive未优化的分组聚合 方法1:在MAP端直接聚合(分组聚合优化),减少…...

前端 select 标签如何创建下拉菜单?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 代码示例⭐ 代码讲解⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏…...
基于 eclipse-temurin 构建国内时区,地区,语言的docker镜像
基于 eclipse-temurin 构建国内时区,地区,语言的镜像 使用场景自定Dockerfile构建自己的基础镜像构建本地镜像推送远程仓库 使用场景 在给应用构建自定义镜像时,往往需要在每次构建时去调整时区,地区这些东西;每次构建…...

RunnerGo配置场景时接口模式该怎么选
在进行性能测试时,测试场景的正确配置非常关键。首先,需要根据业务场景和需求,设计出合理的测试场景,再利用相应的工具进行配置,实现自动化的性能测试。 在JMeter中,用户需要自己组织测试场景,…...
系统分享UIActivity
iOS自带的分享控件可以完成绝大部分的分享需求。 它可以不需要集成微信、QQ等第三方SDK就可以实现分享(需要在弹出视图里面点击更多打开开关)到微信好友、朋友圈等,功能很强大,也很方便。 一、系统分享两个步骤 UIActivity配置分享的内容和…...

常用抓包工具
Fiddler Fiddler 是一个很好用的抓包工具,可以用于抓取http/https的数据包,常用于Windows系统的抓包,它有个优势就是免费 Charles Charles是由JAVA开发的,可以运行在window Linux MacOS,但它是收费的,和…...

自然语言处理学习笔记(五)————切分算法
目录 1.切分算法 2.完全切分 3.正向最长匹配 4.逆向最长匹配 5.双向最长匹配 6.速度评测 1.切分算法 词典确定后,句子可能含有很多词典中的词语,他们有可能互相重叠,如何切分需要一些规则。常用规则为:正向匹配算法、逆向匹…...
SQL-方法论
写SQL时可以考虑的手段: 行转列 先分为多个临时表,然后JOIN到一起 select uid,t1.name YuWen,t2.name ShuXue from (select uid,namefrom tableAwhere naem 语文) t1join (select uid,namefrom tableAwhere naem 数学) t2on t1.uid t2.uid; 用sum(if…...
[Python从零到壹] 六十八.图像识别及经典案例篇之图像特效(毛玻璃、浮雕、油漆和模糊特效变换)
八月太忙,还是写一篇吧! 欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足…...
undefined与null的区别
null 表示一个对象被定义了,值为“空值” undefined 表示不存在这个值 1.undefined typeof undefined //"undefined" undefined 是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但还没有…...

Unity之获取用户地理位置
1.直接利用三方API获取: 1.1 利用bilibili的api 【未知稳定性】 public void Awake() {StartCoroutine(GetLocationInfoNew());}/// <summary>/// 利用bilibili的接口通过ip直接获取城市信息/// </summary>IEnumerator GetLocationInfoNew() {//UnityWebRequest …...
TC3XX - MCAL知识点(二十):CAN MCAL配置及代码实战(CAN/CANFD/extenen CAN)
目录 1、概述 2、MCAL配置 2.1、实验目标 2.2、CAN配置(包含CAN与CANFD) 2.2.1、CanGeneral...

QT生成Debug和Release发布版后,运行exe缺少dll问题
在QT Creator生成debug和release的exe执行文件后,运行时,报错缺少*.dll.解决办法1: 在系统环境变量中添加D:\Qt\Qt5.13.2\Tools\mingw730_64\bin后,即可运行。 当使用此方法时,将exe拷贝到其他电脑中运行时,…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...