一个 tomcat 下如何部署多个项目?附详细步骤
一个tomcat下如何部署多个项目?Linux跟windows系统下的步骤都差不多,以下linux系统下部署为例。windows系统下部署同理。
一、不修改端口,部署多个项目
清楚tomcat目录结构的应该都知道,项目包是放在webapps目录下的,那能否在同一个tomcat的webapps目录下运行多个不同项目呢?答案是可以的。
1、将多个项目包放入webapps文件夹下

2、修改conf下的server.xml文件,新增web应用节点
定位到server.xml文件结束标签之前,新增web应用节点,一个节点代表一个项目
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" /> <!-- 配置web应用 -->
<Context docBase="erp" path="/erp" reloadble="true" />
<Context docBase="ningmengban" path="/ningmengban" reloadble="true" />
</Host>
</Engine>
</Service>
</Server>
以上新增内容说明:
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,成功

二、修改端口,部署多个项目
我们已经清楚一个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="Catalina1"> <!-- 8080为http访问端口,为避免冲突,修改端口 -->
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> <!-- 8009为AJP端口,Apache能通过AJP协议访问Tomcat的8009端口,避免冲突,修改 -->
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" /> <!-- Engine节点,name修改为Catalina1 -->
<Engine name="Catalina1" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm> <!-- 修改Host节点,appBase修改为webapps1 -->
<Host name="localhost" appBase="webapps1"
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>
</Engine>
</Service>
以上修改信息说明:
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,成功

一个 tomcat 下如何部署多个项目?附详细步骤的更多相关文章
- tomcat下同时部署两个项目不能正常启动的问题
在部署两个项目,这两个项目都是采用了一个框架,只是业务系统进行了修改.部署的时候发现启动有问题.会报类似下边的错误 Web app root system property already set t ...
- 一个tomcat下部署多个项目或一个服务器部署多个tomcat
最近需要把两个项目同时部署到服务器上,于是研究了一下,页借鉴了很多别人的方法,把过程记录下来,以儆效尤. 目录: 1,一个tomcat下同时部署两个项目(多个项目可以参考) 1.1项目都放在webap ...
- 一个tomcat服务器上部署多个Web项目,不同域名访问
[参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...
- 如何在tomcat中如何部署java EE项目
如何在tomcat中如何部署java EE项目 1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法.2.在tomcat安 ...
- Tomcat下使用war包发布项目
Tomcat下使用war包发布项目 转自<Tomcat下使用war包发布项目 >,地址:http://blog.csdn.net/wy818/article/details/7240294 ...
- 刚刚大学毕业,自己搭网站遇到的问题 一:tomcat中同时部署两个项目的问题
最近直接把两个项目打成war包在tomcat下发布,出现了很多莫名奇妙的问题,就是不能发布成功,只能有一个项目能成功,在网上查了很多方法,以为是两个项目中jar包出现冲突,也按照网上的方法把两个项目中 ...
- tomcat中同时部署两个项目的问题
其中一个项目总是无法访问. 参考这两篇文章: 1. tomcat中同时部署两个项目的问题 2. java.lang.IllegalStateException: Web app root system ...
- linux下vsftpd的安装及配置使用详细步骤(推荐)
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BS ...
- Windows10下安装Oracle 11g 64位的详细步骤
直接附上我整理后的Word版<Windows10下安装Oracle 11g 64位的详细步骤>下载地址,提取码:9vak. 参考文献: 1.Win10 64位系统下安装Oracle11g详 ...
- 一个Tomcat下部署两个,甚至多个项目
是的這是我粘過來的 Tomcat目录下的结构如图: 第一步:Tomcat默认空间webapps,中已经存在一个项目了,此时要增加一个项目运行可以将原本webapps目录copa一份, 改名为webap ...
随机推荐
- [oeasy]python0007-Guido的简历
执行 esc 退回到正常模式 编辑 esc退出插入模式 准备底行命令模式运行当前py文件 保存执行 :w|!python3 % 保存并用 python3 解释当前程序(%) 编辑 可以 ...
- C#/.NET这些实用的编程技巧你都会了吗?
DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法.算法.技巧.中间件.类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.N ...
- char字符_C
字符的表示 字符类型由单引号' '包围,字符串由双引号" "包围. //正确的写法 char a = '1'; char b = '$'; char c = 'X'; char ...
- nodejs的服务器,用ffmpeg推流
http://m.zhizuobiao.com/node/node-19061200018/ ffmpeg -list_devices true -f dshow -i dummyffmpeg -f ...
- Python项目批量管理第三方包(requirements.txt)
python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号,以便新环境部署. requirements.txt可以通过pip命令自动生成和安装 生成re ...
- 一款.NET开源、跨平台的DASH/HLS/MSS下载工具
前言 今天大姚给大家分享一款.NET开源(MIT License).免费.跨平台的DASH/HLS/MSS下载工具,并且支持点播和直播(DASH/HLS)的内容下载:N_m3u8DL-RE. 网络流媒 ...
- mp实现一个自连接查询
起因是我设置了一个考核表结构,其中包含指标值,指标当前值,是主副指标等列. 后面我要进行考核的验收的时候,我发现验收要取得的是主当前指标值/主指标值以及副指标当前值/副指标值.如果想要让这两条数据一次 ...
- Fiddler的工作原理
Fiddler是位于客户端和服务器端中间的HTTP代理,是目前最常用的http抓包工具之一 . Fiddler抓取客户端和服务器之间的所有HTTP请求后进行分析.断点.过滤等操作. Fiddler可以 ...
- Netty的源码分析和业务场景
Netty 是一个高性能.异步事件驱动的网络应用框架,它基于 Java NIO 构建,广泛应用于互联网.大数据.游戏开发.通信行业等多个领域.以下是对 Netty 的源码分析.业务场景的详细介绍: 源 ...
- web3 产品介绍:硬件钱包Ledger 离线管理私钥更安全
Ledger是一款硬件钱包,可以安全地存储用户的加密资产,并在需要时进行交易.作为一种离线存储设备,Ledger钱包比在线钱包更加安全,因为它能够保护用户的私钥和交易信息,使其免受黑客攻击和网络病毒的 ...