几分钟完成前后端分离项目部署

2024-01-29 05:12

本文主要是介绍几分钟完成前后端分离项目部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文章主要讲如何手动部署前后端分离项目,分前端部署后端部署,部署所用项目获取:关注公众号发送:
cloud

前言

基于本项目的所需的环境

  • 前端
    • node:v16.14.2
    • pnpm:8.6.9
  • 后端
    • jdk:17
    • maven:Apache Maven 3.8.1
    • mysql:8.0.28
    • nacos:2.1.1
  • 服务器:2核4G(最好)
    • nginx:1.20.2
    • docker:24.0.7

前端部署

1. 新建目录

用于存放项目 build 后的资源

cd /
mkdir www
cd /www
mkdir html
2. 项目构建
  • 执行 pnpm run build

在这里插入图片描述

  • 将生成的 dist 目录上传到刚才创建的 /www/html/

    在这里插入图片描述

3. 安装 nginx
  • 安装:Nginx安装

  • 修改配置:vim /usr/local/nginx/conf/nginx.conf

    在这里插入图片描述

  • 访问 ip:80 验证

后端部署

1. Package
  • 子项目的 pom 文件添加打包插件

    <build><finalName>打包后的jar包名</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
    </build>
    
  • 在项目目录下执行:mvn cleanmvn package

    在这里插入图片描述

  • target目录下的jar包上传至服务器
    在这里插入图片描述
    在这里插入图片描述

    使用 rz 命令上传到服务器上(最好分别建立文件夹存放单独的jar包,便于后面打包生成镜像)

2. 制作基础镜像

因为运行 jar 包需要 jdk 环境,项目使用的是 jdk17,因此需要据此制作一个含有 jdk17 的基础镜像,选用 ubuntu 为基础来进行制作

安装docker

  • 拉取 ubuntu 镜像:docker pull ubuntu

  • 新建一个 jdk 目录,将 jdk17的安装包copy到目录下

  • 新建 Dockerfile 文件:vim Dockerfile

    FROM ubuntu
    MAINTAINER zeroclian
    RUN mkdir /usr/local/jdk
    WORKDIR /usr/local/jdk
    ADD jdk-17_linux-x64_bin.tar.gz /usr/local/jdkENV JAVA_HOME /usr/local/jdk/jdk-17.0.5
    ENV CLASSPATH $JAVA_HOME/lib/
    ENV PATH $JAVA_HOME/bin:$PATH
    

    在这里插入图片描述

  • 在 Dockerfile 文件所在目录执行:docker build -t jdk17 .

    将会生成了一个名为 jdk17 的镜像,使用 docker images 查看

3. 制作服务镜像
  • 同样的方式,在上传的cloud-service.jar所在目录下新建 Dockerfile 文件,执行:docker build -t cloud-service .

    FROM jdk17
    ADD cloud-service.jar /cloud-service.jar
    ENTRYPOINT ["java","-jar","/cloud-service.jar"]
    

    最后我们会得到三个镜像:

    在这里插入图片描述

4. 启动容器
  • 启动容器,开放端口号

    docker run -di --name=cloud-gateway -p 9999:9999 cloud-gateway
    docker run -di --name=cloud-service -p 8001:8001 cloud-service
    

    在这里插入图片描述

  • 验证是否成功

    在这里插入图片描述

❗️注意事项❗️

  • 无法访问时,请检查服务器的安全组是否放开相关端口
  • cloud-nacos不在需要理会,直接nacos安装即可,不需要使用容器启动
  • 若启动后很快容器就停止了,可能是服务器内存不足,可以自行调整容器
  • jdk17安装包获取:公众号发送jdk17

这篇关于几分钟完成前后端分离项目部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/655821

相关文章

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

springboot将lib和jar分离的操作方法

《springboot将lib和jar分离的操作方法》本文介绍了如何通过优化pom.xml配置来减小SpringBoot项目的jar包大小,主要通过使用spring-boot-maven-plugin... 遇到一个问题,就是每次maven package或者maven install后target中的ja

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测