在同一个tomcat中,使用不同的端口部署不同的项目

文章目录

  • 借助开发工具
  • 手动配置(不使用开发工具)
    • 第一步:修改 server.xml 文件
    • 第二步:创建部署目录
    • 第三步:复制 Catalina 目录
    • 第四步:复制 policy 和 properties 文件
    • 第五步:部署项目
    • 第六步:测试

借助开发工具

以 IntelliJ IDEA for Mac 为例说明。

新建 tomcat 配置:
在这里插入图片描述
在新建的 tomcat 配置中设置不同的端口号:
在这里插入图片描述

在新建的 tomcat 配置中部署项目:
在这里插入图片描述
新建 tomcat 配置,会在 /Users/liaowenxiong/Library/Caches/JetBrains/IntelliJIdea2020.3/tomcat 新建一个服务目录,如下图所示:
在这里插入图片描述

手动配置(不使用开发工具)

第一步:修改 server.xml 文件

修改 tomcat 安装目录下 conf/server.xml 文件,需要几个端口就添加几个 Service 节点。

我配置 2 个端口:9999 和 8878,于是增加两个 Service 节点。

每个 Service 节点的 name 属性值要设置不同的值;Service 节点的子节点 Connector 的 port 属性设为你要的端口号;Service 节点的子节点 Engine 的 name 属性值要设置不同的值,通常和父节点 Service 的 name 属性值相同;Service 节点的子节点 Host 的 appBase 属性的值设为部署目录的名称。
在这里插入图片描述

第二步:创建部署目录

根据新增的 Service 节点中的 Host 子节点的 appBase 属性值创建对应的部署目录。
在这里插入图片描述

第三步:复制 Catalina 目录

复制 tomcat 安装目录下 conf/Catalina 目录两份,重命名为 Catalina1,Catalina2。
在这里插入图片描述

第四步:复制 policy 和 properties 文件

conf 目录下的 catalina.properties、catalina.policy,分别复制两份。
在这里插入图片描述

第五步:部署项目

配置完成后就可以部署项目了。

部署方式一:
把项目分别添加到 webapps1 和 webapps2 目录中,然后启动服务器

部署方式二:
在 Catalina1/localhost 和 Catalina2/localhost 目录下创建以项目的虚拟目录命名的 xml 文件,文件中的 Context 节点的 docBase 属性保存项目的部署包路径,然后启动服务器

第六步:测试

在浏览器的地址栏,用不同的端口号访问项目,测试是否部署成功

参考:
1.https://blog.csdn.net/it_java_shuai/article/details/77509318

2.http://www.manongjc.com/article/141347.html

3.https://www.cnblogs.com/csyzlm/p/11714529.html

4.https://blog.csdn.net/gang_strong/article/details/29415301

5.https://blog.51cto.com/meiling/2488744

6.https://www.jianshu.com/p/e394280181f3

7.https://www.jb51.net/article/95141.htm

8.https://jingyan.baidu.com/article/9080802205c218fd91c80fc5.html

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

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

相关文章

jdk11换jdk8版本_在JDK 9(以及8)以及更高版本中,所有内容都可以作为一个流

jdk11换jdk8版本在JDK 8中,我们终于可以使用流了,除了您使用的API无法产生流的时代之外,其他一切都很好。 然后,您最终编写了一个包装器类方法,该方法允许您将迭代器转换为Stream,因为您错过了流。 public…

IntelliJ IDEA 的 Project Structure 窗口中的 Artifacts 勾选 Include in project build

文章目录在 war 工件勾选 Include in project buildBuild Project/ModuleRebuild Project/Module在 war exploded 工件勾选 Include in project build在 war 工件勾选 Include in project build war 工件处勾选 Include in project build,表示在构建项目/模块之后&a…

华为linux系统能用Cad么,华为平板能装cad画图吗 华为平板可以用cad软件吗?

华为平板可以用cad软件吗?华为平板是可以安装cad画图软件的,不管是什么设备,关键是操作系统符合下面的要求,就可以安装: 1、微软的window 系列操作系统 2、苹果的电脑操作系统 3、Linux系统华为mate平板可以安装CAD画图…

java客户端api文档_Java 11:新的HTTP客户端API

java客户端api文档在Java 11中,已将最初在Java 9中引入的孵化HTTP客户端API进行了标准化。 它使连接URL,管理请求参数,cookie和会话更加容易,甚至支持异步请求和websocket。 概括地说,这是使用传统的URLConnection方法…

linux date字符串日期格式,Linux中date用法

1、命令:date2、命令功能:date 可以用来显示或设定系统的日期与时间。3、命令参数-d:显示字符串所指的日期与时间。字符串前后必须加上双引号;-s:根据字符串来设置日期与时间。字符串前后必须加上双引号;-u…

jar/war/ear文件的区别

参阅: https://www.cnblogs.com/perfy/p/3597852.html https://blog.csdn.net/weixin_29022299/article/details/114063154 https://www.cnblogs.com/uriel/p/4874383.html https://www.cnblogs.com/sagech/p/4907163.html https://www.cnblogs.com/nizuimeiabc1/p/…

vim 命令模式 筛选_10个步骤的筛选器模式

vim 命令模式 筛选过滤器是仅在某些情况下应应用的模式。 在原始帖子中 ,我提供了一个非常简单的示例,旨在演示如何应用它。 在这篇文章中,我提供了一个更详细的示例,该示例还旨在说明何时以及为什么应用它。 介绍 该职位包括以…

Maven的scope详解

文章目录依赖范围介绍compiletestprovidedruntimesystemimport依赖传递依赖范围与 classpath 的关系表参考依赖范围介绍 maven 项目不同的阶段引入到classpath中的依赖是不同的,例如,编译时,maven 会将与编译相关的依赖引入classpath中&…

linux下编译与运行,Linux操作系统驱动编译与运行是怎样的?

一、手工加载测试1、insmod 。/key_test。ko 加载驱动模块到内核2、cat /proc/modules |grep key_test 查看key_test模块在内核中的地址,不加过滤器可以看到全部加载的模块。3、lsmod 显示模块,这时可以看到所有的模块名字,后面跟的是主设备号…

spring mvc 提示_Spring BootHibernate提示

spring mvc 提示1.概述 Hibernate无需介绍。 它是Java中最受欢迎的ORM。 同样,Spring Boot是Java中功能最强大,最易于使用的框架。 本教程与Hibernate或Spring Boot无关,其中有大量的内容。 我们将研究在将它们一起使用时可能会遇到的一些…

异常:Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

执行 JDBC 有关代码时,报如下的异常: 原来是配置文件的内容有问题:

linux 端口tnpl,利用Python找出9个连续的空闲端口

这篇文章主要介绍了Python找出9个连续的空闲端口的方法,感兴趣的小伙伴们可以参考一下一、项目需求安装某软件,配置时候需要填写空闲的端口。查看5个平台的某个端口是否被占用5个平台为windows, linux, aix, hp, solaris二、实现方案有两种1、利用 pytho…

go比java快多少_Java 11快多少?

go比java快多少尽管大多数开发人员仍然使用Java 8 ,但Java 11还是在不久前发布的。 让我们看看其中哪个对OptaPlanner更快。 找出答案的最佳方法当然是运行OptaPlanner基准测试。 本文是我们针对Java 8的类似文章的后续文章 。 基准方法 为了运行基准测试&#xff…

部署项目,所谓“部署”到底是在干什么?

第一步:把项目部署包放在服务器指定目录(webapps)下,让服务器可以找到项目资源;或者通过配置文件让服务器可以找到项目资源。 第二步:把项目的访问路径、资源映射等数据加载进内存中,这样客户端…

linux查看文件使用情况,linux查看文件句柄使用情况

Linux 3.2.0-23-generic (linux) 09/08/2014 _x86_64_ (8 CPU)02:01:55 PM dentunusd file-nr inode-nr pty-nr02:02:05 PM 38465 1568 25731 402:02:15 PM 38465 1568 25728 402:02:25 PM 38465 1536 25723 4Average: 38465 1557 25727 4输出项说明:kbmemfree&…

Update resources 和 Update classes and resources 的特殊情况

resources目录的文件删除了,不会更新部署包中的相关文件;但是会更新编译输出目录下的相关文件(在 run 和 debug 模式下) webapp 目录的文件删除了,不会更新部署包中的相关文件(在 run 和 debug 模式下&…

java堆内与堆外数据交互_Java:汇总堆外数据

java堆内与堆外数据交互探索如何以最小的垃圾回收影响和最大的内存利用率创建堆​​外聚合。 使用Java Map,List和Object创建大型聚合通常会产生大量堆内存开销。 这也意味着,一旦聚合超出范围,垃圾收集器将必须清理这些对象。 阅读这篇简短…

linux内核cpu负载计算,CPU 负载 — The Linux Kernel documentation

CPU 负载Linux通过/proc/stat和/proc/uptime导出各种信息,用户空间工具如top(1)使用这些信息计算系统花费在某个特定状态的平均时间。例如:$ iostatLinux 2.6.18.3-exp (linmac) 02/20/2007avg-cpu: %user %nice %system %iowait %steal %idle10.01 0.00…

IntelliJ IDEA 中的Java Web项目的资源文件复制新增如何更新到部署包中?

文章目录resources目录下的文件复制新增webapp目录的文件复制新增IntelliJ IDEA 中的Java Web项目的资源文件如果复制新增,正常的重新部署、重启服务器、update resources,并不会更新到部署包中,必须要特殊处理才行。 resources目录下的文件…

apache.camel_Apache Camel 2.23发布

apache.camel昨天发布了Apache Camel 2.23 ,其中最值得注意的新功能是对Spring Boot 2.1的支持,我们还改进了启动器组件以包括更多的元数据,并对改进的Spring Boot自动配置进行了优化。 此版本主要是一个大的错误修复版本和一些其他小的新增…