在线教育项目后端部署

谷粒学院的这个项目,除了最后的权限管理模块,其他部分都还可以。最不能容忍的就是最后的项目部署,拿了一个最简单的项目来讲解完自动化部署模块之后就没有任何教程了。而且使用自动化部署项目,对于初学者来说,即抽象又不能了解一点底层的原理,现阶段来说不太容易实现。

本次对于本项目的部署采用idea+maven的方式打包项目,首先看一下整个项目的架构。
在这里插入图片描述

1、打包准备

所有的顶层模块中的pom文件中的打包方式都改为pom,即在pom文件中添加:

<packaging>pom</packaging>

所有需要打包的子模块的打包方式都改为jar,即在子模块中的pom文件中添加:

<packaging>jar</packaging>

在需要打包,并且有SpringBootApplication注解标注主类的子模块中的pom文件中添加:

<build>
    <!--maven的打包插件-->
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

另外因为service下的子模块中需要读取mapper包下的xml文件,所以需要在service模块下的pom文件中添加:

 <build>
     <!--打包规则,打包时将resource文件夹打包进去-->
     <resources>

         <resource>
             <directory>src/main/java</directory>
             <includes>
                 <include>**/*.xml</include>
             </includes>
             <filtering>false</filtering>
         </resource>

         <resource>
             <directory>src/main/resources</directory>
             <includes>
                 <include>**/*.yml</include>
                 <include>**/*.properties</include>
                 <include>**/*.xml</include>
             </includes>
             <filtering>false</filtering>
         </resource>

     </resources>
</build>

最后,梳理父子模块关系,总工程中只能有其下的顶层模块,不能包含顶层模块下的子模块。在总工程下的pom文件中的体现为:

<modules>
    <module>common</module>
    <module>service</module>
    <module>canal_client</module>
    <module>infrastructure</module>
</modules>

同理顶层模块下只有其子模块,以service为例,其pom文件为

 <modules>
     <module>service-oss</module>
     <module>service-vod</module>
     <module>service-cms</module>
     <module>service_msm</module>
     <module>service-ucenter</module>
     <module>service-order</module>
     <module>service-statistics</module>
     <module>service-acl</module>
     <module>service-edu</module>
</modules>

注意:模块不能多也不能少。

2、打包流程

先对于总工程进行 clean和 install。

在这里插入图片描述

再对于总工程下的每一个顶层模块进行 clean和 package。

在这里插入图片描述

顶层模块的打包顺序为:common ==> infrastructure ==> service。

至此,每个子模块的jar包都会出现在target目录下。

3、部署

直接将打包的jar包拷贝到linux服务器的任一文件夹中。

使用下面的命令运行即可:

nohup java  -Xms64m -Xmx64m -jar service-acl-0.0.1-SNAPSHOT.jar &

这里由于我只有一台4G和一台2G的服务器,只有选择将2G服务器作为redis、mysql和nacos的运行平台,4G服务器作为微服务运行的平台,所以给每个服务器的内存相对小了一些。即便在这种情况下,打包的微服务也不能完全运行,只能运行6个微服务,给各位做个参考。

下一篇将介绍在线教育的前端打包和部署流程。

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
1. 简介 基于SSM的Java后端开发项目是一个使用Spring、SpringMVC、MyBatis作为主要框架开发的Web应用程序。它是一种常见的Java后端开发模式,可以帮助开发者快速构建高效、可维护的Web应用程序。 2. 技术栈 - Spring:提供了IoC和AOP的支持,使得开发者可以更加方便地管理对象、处理事务等。 - SpringMVC:提供了MVC框架的支持,可以帮助开发者更加方便地开发Web应用程序。 - MyBatis:提供了数据访问层的支持,可以帮助开发者更加方便地访问数据库。 - Maven:提供了项目管理和依赖管理的支持,可以帮助开发者更加方便地管理项目。 - MySQL:作为常用的关系型数据库,可以帮助开发者存储和管理数据。 3. 开发流程 - 确定需求:确定项目的需求和功能。 - 架构设计:根据需求和功能确定系统的架构和设计。 - 环境搭建:搭建开发环境,包括安装Java开发工具、MySQL数据库、Tomcat服务器等。 - 代码开发:根据需求和设计,编写代码实现系统功能。 - 测试调试:进行单元测试、集成测试和系统测试,确保系统的质量和稳定性。 - 部署上线:将系统部署到生产环境,并进行监控和维护。 4. 项目案例 - 电商网站:实现商品列表展示、购物车管理、订单管理等功能。 - 社交网站:实现用户注册、登录、发布信息、评论等功能。 - 人力资源管理系统:实现员工信息管理、薪资管理、招聘管理等功能。 - 在线教育平台:实现课程管理、学生管理、教师管理等功能。 5. 开发者注意事项 - 熟悉Spring、SpringMVC、MyBatis等框架的使用和原理。 - 熟悉Java EE相关技术,如Servlet、JSP、JDBC等。 - 熟悉前端技术,如HTML、CSS、JavaScript、jQuery等。 - 熟悉数据库设计和SQL语言。 - 注意项目的安全性、性能和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值