首页 > 其他分享 >Ruoyi-Cloud部署在虚拟机

Ruoyi-Cloud部署在虚拟机

时间:2023-02-15 19:44:13浏览次数:48  
标签:compose 服务 虚拟机 Ruoyi ruoyi nacos mysql docker Cloud

1、第一步拉取代码

git clone https://gitee.com/y_project/RuoYi-Cloud.git

2、打包前端项目

  • 安装前检查 Node 是否安装
  • 注意不要安装版本太高!最好选择 16.x版本 , 下载
  • 下载依赖
  • 打包

下载Node

注意配置Node环境变量,配置完毕后,之前打开的 cmd 窗口要关闭才能生效!

下载依赖 执行 \ruoyi-ui\bin 目录下的脚本

.\ruoyi-ui\bin\package.bat

打包 \ruoyi-ui\bin目录下的脚本

.\ruoyi-ui\bin\build.bat

3、后端服务Java接口打包

  • 修改 host 地址
  • 执行 bin 目录下的 clean.bat
  • 打包,执行 bin 目录下的 package.bat

修改 host 地址,将 host 地址修改为对应在服务器上部署的 服务名

例如修改 ruoyi-modules-system 服务

修改之前

 # 未修改之前
discovery:
        # 服务注册地址
        server-addr: localhost:8848
      config:
        # 配置中心地址
        server-addr:  localhost:8848

修改之后

discovery:
        # 服务注册地址
        server-addr:  ruoyi-nacos:8848
      config:
        # 配置中心地址
        server-addr:  ruoyi-nacos:8848

其他服务参照这个操作 修改!

一定要对应 docker-compose.yml 文件中的服务名 !!!

注意检查 mvn 命令是否生效,如果不生效请配置maven环境变量

清除之前缓存,否则会导致修改配置不生效

.\bin\clean.bat

打包

.\bin\clean.bat

4、上传到服务器

将之前打包好的各个项目打包拷贝到 docker 目录

可以直接 执行拷贝脚本

.\docker\copy.sh

注意:官方给的 copy.sh 脚本拷贝命令可能导致一些文件拷贝不全

  • 检查 sql 脚本是否拷贝完全 参考 sql/*sql
  • 检查 docker/nginx/html/dist 目录中是否含有文件 参考 ruoyi-ui/dist 如果 IDE 中找不到,是因为 IDE 中屏蔽了,可以到本地资源管理器,的该目录下拷贝到对应文件加中
  • 注意 jar包是否打包完全到 /docker/ruoyi/*/jar/ 目录下

下面给出参考图

将项目中整个docker目录上传到服务器,例如 /usr/local/project/ruoyi-cloud

完毕之后将 docker 文件加上传到服务器中,接下来就是部署了

5、项目部署

1、安装docker和docker-compose

补充:

1、添加 docker 镜像源

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://ezs5jiab.mirror.aliyuncs.com"]
}

重启生效

systemctl daemon-reload
systemctl restart docker

2、 官方 docker-compose 安装有点慢,执行这个命令可能快点

curl -SL https://get.daocloud.io/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

不要忘了安装完毕之后給文件添加可执行命令

chmod +x /usr/local/bin/docker-compose

检查是否安装成功,输出对应版本号就是安装成功了

docker-compose version

2、清空安装环境

为什么要清空之前的镜像?

本人安装之前吃过亏,之前安装失败没有修改本地host,导致部署失败。

修改之后在上传,如果不删除之前的容器和镜像,会继续部署失败!

标签:compose,服务,虚拟机,Ruoyi,ruoyi,nacos,mysql,docker,Cloud
From: https://www.cnblogs.com/wuxin001/p/17124437.html

相关文章