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

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

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免