一个tomcat下如何部署多个项目?

news2024/11/24 15:44:30

1、不修改端口,部署多个项目

清楚tomcat目录结构的应该都知道,项目包是放在webapps目录下的,那能否在同一个tomcat的webapps目录下运行多个不同项目呢?
答案是可以的。

1、将多个项目包放入webapps文件夹下

2、修改conf下的server.xml文件,新增web应用节点

定位到server.xml文件结束标签之前,新增web应用节点,一个节点代表一个项目

图片

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337

图片

以上新增内容说明:

docBase属性: 指定Web应用的文件路径,可以是绝对路径,也可以给定相对路径
path属性: 指定访问该Web应用的URL入口。

reloadable属性: 若这个属性为true,tomcat服务器在运行状态下会监视WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到class文件被更新,服务器会自动重新加载Web应用。 

注意:每个项目本身的一些配置文件修改,例如数据库连接信息配置,请自行配置好,这里不做赘述。另外,以上第2步server.xml中新增节点不是必须的,可以直接进入第3步,也ok。

3、重启tomcat,浏览器输入访问项目地址

注意:以开发提供的项目部署文档说明中地址为准,去进行访问测试;

浏览器访问第一个项目地址ip:8080/ningmengban/app/register/regiseter.html,成功。

浏览器访问第二个项目地址ip:8080/erp/regist,成功。

图片

2、修改端口,部署多个项目

我们已经清楚一个webapps下面可多个项目。另外一种思路则是,可否多个webapps,每个webapps下面运行一个项目?

答案也是可以的。 

1、tomcat目下复制webapps目录,并重命名为webapps1

图片

Tomcat下webapps已经部署了一个项目,复制webapps重命名为webapps1,并在该文件夹下删除第一个项目,放第二个项目

图片

2、修改tomcat的conf目下的server.xml文件,设置端口等信息

1)server.xml已有第一个项目的配置信息,现在需要新增第二个项目的配置,在Server节点下,新增Service节点;第2个Service节点复制第1个Service内容

图片

2)复制后,做如下端口等配置修改

图片

以上修改信息说明:

Service的name属性修改为Catelina1;

http协议访问的Connector port属性修改为8081;
AJP协议访问的Connector port属性修改为8010;
Engine的name属性修改为Catelina1;
Host的appBase属性修改为webapps1;

3、重启tomcat,浏览器输入访问项目地址

浏览器访问第一个项目地址ip:8080/ningmengban/app/register/regiseter.html,成功。

 浏览器访问第二个项目地址ip:8081/erp/regist,成功。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1071412.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10.8作业

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #include <io…

策略模式优雅实践

1 什么是策略模式 策略模式&#xff08;Strategy Pattern&#xff09;是一种常用的面向对象设计模式&#xff0c;它定义了一系列可互相替换的算法或策略&#xff0c;并将每个算法封装成独立的对象&#xff0c;使得它们可以在运行时动态地替换。具体来说&#xff0c;策略模式定义…

【uniapp】小程序开发6:自定义状态栏

一、自定义状态栏 可以设置某个页面的状态栏自定义或者全局状态栏自定义。 这里以首页状态栏为例。 1&#xff09;pages.json 中配置"navigationStyle": "custom"&#xff0c;代码如下&#xff1a; {"pages": [ {"path": "pa…

记录在搭建Jenkins时,所遇到的坑,以及解决方案

项目场景&#xff1a; 记录在搭建Jenkins时,所遇到的坑,以及解决方案.问题描述1 在使用Jenkins构建时,报错如下&#xff1a; cp: cannot stat /project/xx/xxxx/dist/: No such file or directory Build step Execute shell marked build as failure Finished: FAILURE解决方…

CRMEB开发小程序无法访问 突然提示系统错误 pc端进入也是空白 无提示, 还有权限问题

删除一下runtime/cache文件夹&#xff0c;然后重新给站点权限。 然后检查一下ssl证书 参考&#xff1a;https://www.crmeb.com/ask/thread/35073 我实际操作删除的是runtime/temp下的文件&#xff0c;就好了。 还有权限问题&#xff0c;> 直接在 文件夹哪里给777权限就可以了…

【408常用数据结构】Continually Updating

文章目录 前言数组链表单向链表双向链表双向链表 树二叉搜索树红黑树B树B树 堆优先队列排序算法&#xff08;重点&#xff09; 栈栈实现单调栈算法&#xff08;可不学&#xff09; 图 前言 这一篇文章是因为有几个玩的比较好的朋友觉得我DS学的还行&#xff0c;然后他们也要准…

解决Error in rawToChar(block[seq_len(ns)]) :

今天运行harmony的tutorial时&#xff0c;发现有一个错误&#xff0c;就是 singlecellmethods包需要安装&#xff0c;该包的网址在于 https://github.com/immunogenomics/singlecellmethods 但是我使用 install.packages("/Volumes/Elements SE/单细胞数据集/harmony201…

go语言中结构体tag使用

go中的tag在结构体中使用的。有两个作用&#xff1a; &#xff08;1&#xff09;给结构体属性起别名&#xff0c;字段映射。对于不同类型的类型对应不同的值&#xff0c;比如xml&#xff0c;yaml&#xff0c;json等分别对应着不同的区域&#xff0c;当然标签也不同。比如json&…

运行在移动设备上的ML机器学习任务——基于MediaPipe的手势识别

前期的文章我们介绍了MediaPipe的人手关键点检测。其检测的21个点的坐标位置如下: 当检测到其关键点后,我们就可以利用此关键点来进行人手手势识别。MediaPipe 手势识别器任务可实时识别手势,并提供识别的手势结果。我们可以使用此任务来识别用户的特定手势,并调用与这些手…

用python写代码:pip list,列出:pip install 库1 库2库3...,方便一次性安装错误

彻底解决pip安装库问题 用python写代码&#xff1a;pip list 列出&#xff1a;pip install 库1 库2 库3 这种输出以下是使用Python编写代码来实现类似pip list和pip install package1 package2 package3输出的示例&#xff1a; import pkg_resources# 列出已安装的包和版本 i…

LLMs 库尔贝克-莱布勒散度 KL Kullback-Leibler Divergence

KL-散度&#xff0c;或称为库尔巴克-莱布勒散度&#xff0c;是在强化学习领域经常遇到的概念&#xff0c;特别是在使用Proximal Policy Optimization&#xff08;PPO&#xff09;算法时。它是两个概率分布之间差异的数学度量&#xff0c;帮助我们了解一个分布与另一个分布的差异…

BGP在运营商专线业务下的部署

1. 为什么说BGP是网工的分水岭&#xff1f; 2. BGP的路由黑洞如何产生&#xff1f; 3. BGP协议在什么场景下使用&#xff1f; --- BGP - 边界网关协议 - 一种动态路由协议 --- 路由协议 - 运行在路由器上的软件 - 路由器和路由器彼此之间交换路由信息 --- 同步路…

YOLOv5入门实践(1)— 基础环境介绍及搭建

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLOv5基础知识入门系列和YOLOv5源码中的参数超详细解析系列学习完成之后&#xff0c;接着就进入YOLOv5入门实践系列了。为了让大家能够清楚地了解如何用YOLOv5去进行实践&#xff0c;本篇文章就简单给大家介绍一下YOLOv5基…

红队专题-从零开始VC++远程控制软件RAT-C/S-[2]界面编写及上线

红队专题 招募六边形战士队员1.课前回顾unicode编码 字符串 2.界面编程(下)对话框重载消息函数更改对话框同步更改 3.服务端上线&#xff0c;下线&#xff0c;以及客户端的资源销毁(上)添加socket 变量添加 socket 消息填补config信息创建线程函数 并运行添加Addhost添加 getIt…

C盘或用户名文件夹变成桌面后改不回去问题解决

问题&#xff1a;为了给C盘腾出空间&#xff0c;会把桌面文件夹移动到别的盘。系统自带的功能使得右击这些文件夹&#xff0c;属性&#xff0c;位置里就可以简单完成移动。 然而看似简单的操作依旧有不少人弄出问题。比如&#xff1a; 把桌面文件夹移动到某盘根目录&#xff0…

Python开源项目周排行 2023年第35周

#2023年第35周2023年10月3日1vizro一个用于创建模块化数据可视化应用程序的工具包。在几分钟内快速自助组装定制仪表板 - 无需高级编码或设计经验 - 创建灵活且可扩展、支持 Python 的数据可视化应用程序。使用几行简单的配置来创建复杂的仪表板&#xff0c;这些仪表板是利用 P…

ElfBoard,为嵌入式学习爱好者创造更具价值的学习体验

ElfBoard是飞凌嵌入式面向学习者推出的全新子品牌&#xff0c;旨在为嵌入式学习爱好者创造更具价值的学习体验。 ELF是"Embedded Learning Fans"嵌入式学习爱好者的首字母缩写&#xff0c;同时ELF也是“精灵”的意思&#xff0c;ElfBoard以灵动的精灵形象作为品牌Lo…

公安机关警务vr综合实战模拟训练提高团队合作能力

公安出警VR虚拟仿真培训软件是VR公司利用VR虚拟现实和web3d开发技术&#xff0c;对警务执法过程中可能发生的各种场景进行还原、模拟、演练&#xff0c;结合数据分析&#xff0c;实施量化考核&#xff0c;提高学员的心理承压、应急处突、遇袭反应和临危处置综合能力。 公安出警…

什么是 SRE?一文详解 SRE 运维体系

目录 可观测性系统 故障响应 故障复盘 测试与发布 容量规划 自动化工具开发 用户体验 可观测性系统 在任何有一定规模的企业内部&#xff0c;一旦推行起来整个SRE的运维模式&#xff0c;那么对于可观测性系统的建设将变得尤为重要&#xff0c;而在整个可观测性系统中&a…

QT:工业软件开发的首选“

QT&#xff1a;工业软件开发的首选&#xff0c;强大的GUI框架与多功能扩展" 在工业软件开发领域&#xff0c;主要从事自动化、机械自动化和电气自动化的人员通常使用C或C作为主要编程语言。然而&#xff0c;在当今互联网发展的背景下&#xff0c;Qt成为了C中唯一可靠的G…