在Tomcat中部署两个war包 - 极悦
首页 课程 师资 教程 报名

在Tomcat中部署两个war包

  • 2020-12-10 17:40:39
  • 3794次 极悦

war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。在Tomcat服务器中部署一个war包和两个war包的操作还是有着些许不同的,本文我们主要来讲在Tomcat部署两个war包的情况。

一般情况下在Tomcat中部署war包的步骤如下:

  • 首先到官网上下载tomcat的包并解压
  • 增加系统的环境 变量(有三个变量要增加)。
  • 将war包放到tomcat文件夹下的webapp中。
  • 回到bin文件夹下,打开statup.bat,开启tomcat。回到webapp下,检查war包是否生成了相应的文件夹,如果生成表示成功;否则表示失败。
  • 打开浏览器,输入网址localhost:8080(此端口号可能会是别的。可以通过conf文件夹下的web.xml配置文件中来查看具体的端口号),来测试是否开启了tomcat如果出现如下界面则表示开启成功
  • 在地址localhost:8080后面加上刚才放入webapp中的war包的名字

但是这只是在Tomcat中部署一个war包的情况,在Tomcat服务器中部署两个war包时,我们在第三步,把war包放在tomcat文件夹下的webapp中时,假如要发布的两个war包分别是MES和ERP。我们需要重新规划部署步骤:

1.安装目录\ conf \ Catalina

Catalina是一个文件夹,将Catalina复制两份,一个命名为CatalinaMES,另一个命名为CatalinaERP,都放在安装目录\conf目录下

2.安装目录\ webapps

webapps也是一个文件夹,复制两份,一个命名为webappsMES,另一个命名为webappsERP,都放在安装目录下

MES项目打的war包就放在安装目录\webappsMES下

ERP项目打的war包就放在安装目录\webappsERP下

3.修改配置文件

修改安装目录\conf\server.xml里的内容

<?xml version="1.0" encoding="UTF-8"?>
<Server port="-1" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <!-- 部署mes -->
  <Service name="CatalinaMES">
    <Connector port="8085" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Engine name="CatalinaMES" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>

      </Realm>
      <Host name="localhost"  appBase="webappsMES"
            unpackWARs="true" autoDeploy="true">
            <Context path="/mes-manager-web" docBase="C:\Program Files\Tomcat 8.5\webappsMES\mes-manager-web" debug="0" privileged="true"></Context>
        <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>

  <!-- 部署erp -->
  <Service name="CatalinaERP">
    <Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Engine name="CatalinaERP" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webappsERP"
            unpackWARs="true" autoDeploy="true">
        <Context path="/erp-manager-web" docBase="C:\Program Files\Tomcat 8.5\webappsERP\erp-manager-web" debug="0" privileged="true"></Context>
        <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>
</Server>

其中,一个摘要表示一个服务,也就是一个部署的项目。

报表的名称属性改成相应的Catalina文件夹的名字。

上游的端口属性是项目的端口号,注意不要冲突就可以了。

报表的appBase属性改成相应的webapps文件夹。

节点的路径属性是访问时的地址,即项目的访问地址是服务器ip:项目端口号/path属性的值。根据现在的配置,MES项目的本机访问地址就是127.0.0.1:8085/mes-manager-web。节点的的docBase属性是项目war包的本地路径,只要修改成war包在本机的绝对路径即可。

4.修改startup.bat和shutdown.bat

编辑安装目录\bin\startup.bat,在最前面加上:

SET JAVA_HOME=C:\Program Files\Java\jre1.8.0_181

SET TOMCAT_HOME=C:\Program Files\Tomcat 8.5

第一个是JRE的安装位置,第二个是tomcat的安装路径。

在shutdown.bat里也在同样的位置加上同样的内容。

5.双击startup.bat运行tomcat

请注意,这时候会打开一个dos窗口,里面回像IDEA的控制台一样打印项目的启动信息,当项目启动成功后,千万不要把这个dos窗口关闭了,让它保持开启状态,如果关掉tomcat会停止运行。

6.然后我们打开浏览器输入对应的地址,即可看到war包是否部署成功。

Tomcat自始至终都是Java开发中的重要内容,在许多项目开发中都有应用,对于Java开发人员来说掌握Tomcat的使用是十分必要的。如果你的Tomcat知识掌握的还不够牢靠,可以来本站的Tomcat服务器教程温故知新,巩固一下Tomcat的知识。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交