当前位置: 首页 > news >正文

一个 tomcat 下如何部署多个项目?附详细步骤

一个tomcat下如何部署多个项目?Linux跟windows系统下的步骤都差不多,以下linux系统下部署为例。windows系统下部署同理。

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

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

答案是可以的。

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

图片

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

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

图片

图片

以上新增内容说明:

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,成功。

图片


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战  

三、Web自动化项目实战


四、App自动化项目实战  

五、一线大厂简历


六、测试开发DevOps体系  

七、常用自动化测试工具

八、JMeter性能测试  

九、总结(文末尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到! 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

http://www.lryc.cn/news/262415.html

相关文章:

  • pycharm强制让terminal停止执行的快捷键
  • MFC(Microsoft Foundation Classes)中 MessageBox
  • 如何让.NET应用使用更大的内存
  • 【从零开始学习JVM | 第九篇】了解 常见垃圾回收器
  • Wordle 游戏实现 - 使用 C++ Qt
  • Python 爬虫开发完整环境部署,爬虫核心框架安装
  • 汽车标定技术(十三)--标定概念再详解
  • PostgreSQL常用命令
  • 使用python脚本部署k8s集群
  • 【C语言】操作符详解(四):结构成员访问操作符
  • 【算法】二分法
  • 2023.12.18 JAVA学习day03,while与for循环
  • 使用Pytorch从零开始构建StyleGAN2
  • C++ Qt 开发:ListWidget列表框组件
  • 手机天线市场分析:预计2029年将达到576亿美元
  • FPGA引脚分配的问题
  • 面试经典150题(27-28)
  • 计算机图形学头歌合集(题集附解)
  • MacBook Air提供了丰富多彩的截图选项,大到整个屏幕,小到具体的区域
  • 【CMU 15-445】Lecture 12: Query Execution I 学习笔记
  • 低代码开发平台的优势及应用场景分析
  • ES常见查询总结
  • Spring Boot Docker Compose 支持中文文档
  • 智慧城市/一网统管建设:人员危险行为检测算法,为城市安全保驾护航
  • C语言:求和1+1/2-1/3+1/4-1/5+……-1/99+1/100
  • 学习什么知识不会过时
  • C# WPF上位机开发(ExtendedWPFToolkit扩展包使用)
  • 【IOS开发】传感器 SensorKit
  • 【C++】封装:练习案例-点和圆的关系
  • 【vue】正则表达式限制input的输入: