将前后端项目合并发布部署到云服务器的docker中

6 篇文章 0 订阅
1 篇文章 0 订阅

一、部署准备

1.ECS云服务器一台(我这里是用的阿里云服务器)

在这里插入图片描述

2.前后端分离项目:一个vue前端项目+一个spring后台项目

3.用到的工具 :IDEA、VScode、Navicat、Xshell、Xftp

二、 在云服务器上安装项目运行相关环境

以我这个要部署的项目为例,需要在服务器上安装:
1.java环境
2.docker
3.mysql
4.redis

以下为安装步骤

先通过xshell连接上自己的云服务器
(1)Java安装

yum -y install java-1.8.0-openjdk

在这里插入图片描述
安装完成后查看Java的版本
在这里插入图片描述
(2)安装docker
https://www.cnblogs.com/featherwit/p/12931264.html
(此链接有详细可行的安装教程)

(3)使用docker安装MySQL

docker pull mysql:latest

然后使用

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql_name

去开启MySQL服务;
(前面那个mysql表示的是docker images命令中的镜像的名字,后面的mysql_name表示镜像实例的名字)
在这里插入图片描述

(4)使用docker安装最新的redis

docker pull redis:latest

然后使用命令

docker run --name redis -p 6379:6379 -d redis

启动redis服务

tips:1.使用docker ps命令可以查看已经启动的服务;
2.使用docker images命令查看已经安装的服务;
在这里插入图片描述

三、前后端项目打包

1.VScode中的vue前端项目打包

(1)注意:前端需要请求的后端api地址中的localhost需要修改为你的云服务器的IP地址
例如
例如这里的localhost需要修改为你云服务器的IP地址
(2)项目打包配置
vue.config.js文件中:

module.exports = {
  devServer: {
    port: 8044,
    disableHostCheck: true
  }
};

(3)在终端中运行命令: npm run build
在这里插入图片描述

(4)最终打包成功
在这里插入图片描述
(5)打包出来的dist文件夹下的所有文件拷贝到后台项目的static目录下
在这里插入图片描述
建议:在这里先运行一下项目能否正常运行并访问前端页面
如果出现访问根路径时,显示的是后端项目接口的返回,则去后端项目中的controller层删除“/”的请求,例:
在这里插入图片描述
删除之后就不会报错了,这是因为后端的请求路径和前端的请求路径相冲突,后端会优先请求接口

2.IDEA中的后台项目打包

(1)maven的选择,先选择你自己安装的maven的路径
在这里插入图片描述
(2)在IDEA中点击右边的maven,然后先clean项目,完成后再点击package进行打包
在这里插入图片描述
(3)打包完成后会生成target目录,其下.jar文件就是打包好的完整的项目

在这里插入图片描述

四、文件布置

1.通过xftp将得到的.jar包放到云服务器上的文件夹下

在这里插入图片描述

2.在navicat工具中建立新连接

主机名填写你的云服务器的IP地址(公网IP)
在这里插入图片描述
导入你的数据库文件,建表 ,加入数据

最终运行

进入到存放jar文件的目录下,通过运行命令

java -jar xxxxx.jar

其中的jar文件是你的项目打包文件

在这里插入图片描述
至此,你的项目就已经在云服务器上跑起来了
但是,还需要配置云服务器的端口
在这里插入图片描述
在这里插入图片描述

这样,在浏览器中通过访问你的云服务器公网IP加项目启动的端口号就能访问到你的项目了
在这里插入图片描述
共勉!

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值