war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。在Tomcat服务器中部署一个war包和两个war包的操作还是有着些许不同的,本文我们主要来讲在Tomcat部署两个war包的情况。
一般情况下在Tomcat中部署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大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习