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拷贝到其他电脑中运行时,…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...