• 12
  • 12
分享
  • 一个tomcat下如何部署多个项目?附详细步骤——软件测试圈
  • 饭团🍙 2021-01-14 14:02:30 字数 2869 阅读 1739 收藏 12

一个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 &quot;%r&quot; %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,成功!


作者:豆豆酱

原文链接:https://www.cnblogs.com/tudou-22/p/12382886.html


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 想查看小程序的请求,使用wireshark捣鼓了半天还是无法解析微信小程序的HTTPS协议,于是使用Fiddler试试。Tools --> Options重启 Fiddler点击右边的 Filter 选项卡。然后点击 Actions --> Run Filterset Now接着点开PC微信小程序,就能看到请求列表。双击右边某一行即可展开详细信息显示请求的时间在左侧的列表区域头部任意栏上鼠标右键,选择 Customize Columns,然后Add,就会多出一列时间。需要注意的是,Fiddler 如果异常退出的话,会导致浏...
            0 0 3350
            分享
          •   测试用例八大要素  1.测试用例编号  由字母、字符、数字组合而成的字符串,有唯一性,易识别性。  eg:  1)系统测试:产品编号-ST-系统测试项名-系统测试子项名-编号  2)集成测试:产品编号-IT-集成测试项名-集成测试子项名-编号  3)单元测试:产品编号-UT-单元测试项名-单元测试子项名-编号  这样看到编号就可以知道是做的什么测试,测试的对象是什么,也方便维护。  2.测试项目  当前测试用例所在测试用例所属大类、被测需求、被测模块、被测单元等。  3.测试用例标题  对测试用例的简单描述。用概括的语言描述该测试用例的测试点。每个测试用例的标题不能够重复,因为每个测试用例...
            0 0 1048
            分享
          • 读者提问:『阿常你好,Windows 下 Git 拉 Gitlab 代码的操作步骤可以分享一下吗 ?』阿常回答:好的,总共分为五个步骤。一、Windows 下安装 Git官网下载链接:https://git-scm.com/download/winStandalone Installer(安装版)注意哦,另外一个Portable ("thumbdrive edition")是绿色免安装版,不会添加两个右键菜单快捷键。二、注册 Gitlab 账户记住你的用户名和邮箱。官网注册链接:https://gitlab.com/users/sign_up/三、项目管理员给用户...
            0 0 1325
            分享
          • 接口测试经常遇到的bug和问题,如下:传入参数处理不当,导致程序crash;类型溢出,导致数据读出和写入不一致;因对象权限未进行校验,可以访问其他用户敏感信息;---权限校验很重要状态处理不当,导致逻辑出现错乱;逻辑校验不完善,可利用漏洞获取非正当利益等。输入值的校验:特殊值处理不当导致程序异常退出;类型边界溢出取值范围外值未返回正确的错误信息等约束条件判断要充足判断后,状态转化要测试正确顺序执行是否能被打断或者乱序输出结果的校验:错误前端处理不足,导致前端异常;错误提示处理不当,导致用户看到晦涩的错误码;错误提示不当,导致用户不知道哪里出了问题,如何解决。未进行超时处理,导致整个流程阻塞超时...
            0 1 1965
            分享
          •   我是如何走上测试之路的  我是统招本,专业是计算机信息系统和信息管理,大四在一家事业单位(就不说名字了)实习做Android开发的,等我快毕业的时候,单位明确告诉我不会转正。当然了,我是很清楚的,没有背景,也没有关系,学历也只是本科,想要进去还是很难得。但是也有一丝丝的沮丧,但也就是一点。  大学毕业后,我找了一个互联网公司,开始了我的Android应用开发之路,也就是半年的时间,公司业务扩展比较快,APP的用户量变得比较大了,APP的一些问题开始凸显出来,公司就准备招聘测试。而且要求还挺高的,但是还是要有公司内容的老人去带着业务、讲技术什么的,那时候这个活就交给我了:我当时就很纳闷,我自...
            0 0 825
            分享
      • 51testing软件测试圈微信