Chao's Blog Chao's Blog
首页
  • vue

    • vue路由
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • java
  • spring
  • springboot
  • springcloud
  • git
  • maven
  • nginx
  • tomcat
  • springmvc
  • jvm
  • 图数据库
  • mysql数据库
  • redis数据库
  • windows下docker安装nginx并挂载目录
  • linux命令
  • linux安装软件
  • linux脚本
  • idea
  • vscode
  • 归档
  • 综合项目

    • 若依项目
    • mall项目
  • java
  • mybatis
  • xxl-job
  • mybatis
GitHub (opens new window)

~chao

永远菜鸟,不断努力~
首页
  • vue

    • vue路由
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • java
  • spring
  • springboot
  • springcloud
  • git
  • maven
  • nginx
  • tomcat
  • springmvc
  • jvm
  • 图数据库
  • mysql数据库
  • redis数据库
  • windows下docker安装nginx并挂载目录
  • linux命令
  • linux安装软件
  • linux脚本
  • idea
  • vscode
  • 归档
  • 综合项目

    • 若依项目
    • mall项目
  • java
  • mybatis
  • xxl-job
  • mybatis
GitHub (opens new window)
  • java

  • spring

  • springboot

  • springcloud

  • git

  • maven

  • nginx

  • tomcat

    • tomcat部署多个项目
      • 1、将多个项目包放入webapps文件夹下
      • 2、修改conf下的server.xml文件,新增web应用节点
      • 3、重启tomcat,浏览器输入访问项目地址
      • 1、tomcat目下复制webapps目录,并重命名为webapps1
      • 2、修改tomcat的conf目下的server.xml文件,设置端口等信息
      • 3、重启tomcat,浏览器输入访问项目地址
  • springmvc

  • jvm

  • 正则表达式

  • 消息中间件

  • python

  • 后端
  • tomcat
~chao
2022-11-14
目录

tomcat部署多个项目

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

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

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

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

# 2、修改conf下的server.xml (opens new window)文件,新增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>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

以上新增内容说明:
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>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

以上修改信息说明:
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,成功

编辑 (opens new window)
上次更新: 2024/01/26, 05:03:22
使用nginx部署多个前端项目(三种方式)
SpringMVC简介

← 使用nginx部署多个前端项目(三种方式) SpringMVC简介→

最近更新
01
python使用生成器读取大文件-500g
09-24
02
Windows环境下 Docker Desktop 安装 Nginx
04-10
03
使用nginx部署多个前端项目(三种方式)
04-10
更多文章>
Theme by Vdoing | Copyright © 2022-2024 chaos | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式