Tomcat项目本地部署

前言:

除了在idea中将项目启动之外,也可以将项目部署在本地tomcat或者云服务器上,本片文章主要介绍了怎样将项目部署在本地tomcat


下面介绍如何使用Tomcat部署本地项目:

1、本篇文章使用的项目案例为一个聚合项目,hami_parent为父模块,其余为子模块,项目目录如下图所示

  • ham-console:后台模块
  • ham-core:公共模块
  • ham-file:文件服务器
  • ham-portal:前台模块

2、部署前需要首先将这些项目模块进行打包,点击右侧的Maven Projects

然后如下图步骤点击(其余模块一样)

同时因为是聚合项目,也可以直接在parent项目下执行,可以同时将四个子项目模块打包

3、可以看到执行完package后,在你的target目录下就会生成一个打好的包

4、MavenWeb项目打的是war包,普通Maven项目则打的是jar包,右键打好的包,按下图在文件资源管理器中打开,找到这个包所在位置

5、将打好的包从所在位置处拖到你要部署的tomcat下图所示目录下

6、将下面代码复制到conf目录下的server.xml文件中,注意对项目端口号和项目名称的修改(仅修改这两处即可),需要部署几个就加几个,如果只有两个则只加两个即可,这里是因为文件服务器也一起部署了所以加了三个

XML 复制代码
      <!-- 每个service的名称要区别开 -->
<Service name="Catalina1">
    <!-- 每个项目的端口号也要进行区分,保证不被占用 -->
    <Connector port="8087" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URLEncoding="UTF-8"/>
    <!-- 这里的AJP端口同样也要进行区分 -->
	<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
    <Engine name="Catalina1" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
 
      <Host name="localhost"  appBase="webapps"
            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" />
            <!-- 这里是想要部署的对应项目的名称 -->
		    <Context docBase="ham_file-1.0-SNAPSHOT" path="/" reloadable="true"/>
      </Host>
    </Engine>
  </Service>
  <Service name="Catalina2">
    <Connector port="8084" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URLEncoding="UTF-8"/>
	<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
    <Engine name="Catalina2" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
 
      <Host name="localhost"  appBase="webapps"
            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" />
		    <Context docBase="ham-portal-1.0-SNAPSHOT" path="/" reloadable="true"/>
      </Host>
    </Engine>
  </Service>
  <Service name="Catalina3">
    <Connector port="8089" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URLEncoding="UTF-8"/>
	<Connector port="8012" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
    <Engine name="Catalina3" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
 
      <Host name="localhost"  appBase="webapps"
            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" />
		    <Context docBase="ham-console-1.0-SNAPSHOT" path="/" reloadable="true"/>
      </Host>
    </Engine>
  </Service>

7、在bin目录下找到startup.bat执行即可完成项目的本地tomcat部署

8、执行后可以看到webapps目录下多了如下文件

conf目录下多了如下文件

此时已经完成了部署,在浏览器中通过本地端口号访问页面即可

相关推荐
剑锋所指,所向披靡!1 小时前
C++之类模版
java·jvm·c++
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-0到1全流程研发:DDD、TDD与CICD协同实践
java·人工智能·spring boot·架构·ddd·tdd
sheji34161 小时前
【开题答辩全过程】以 面向高校校园的物物交换系统设计与实现为例,包含答辩的问题和答案
java·eclipse
卓怡学长2 小时前
m115乐购游戏商城系统
java·前端·数据库·spring boot·spring·游戏
2501_944526422 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 蜘蛛纸牌游戏实现
android·java·python·flutter·游戏
打工的小王2 小时前
java并发编程(三)CAS
java·开发语言
尤老师FPGA2 小时前
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十五讲)
android·java·ui
星火开发设计3 小时前
C++ 函数定义与调用:程序模块化的第一步
java·开发语言·c++·学习·函数·知识
cypking3 小时前
二、前端Java后端对比指南
java·开发语言·前端
未若君雅裁3 小时前
SpringAI基础入门
java·spring boot·ai