【推荐】若依微服务版服务器部署(手把手教程)
【推荐】若依微服务版服务器部署(手把手教程)
📔 千寻简笔记介绍
千寻简文库已开源,Gitee与GitHub搜索chihiro-doc
,包含笔记源文件.md
,以及PDF版本方便阅读,文库采用精美主题,阅读体验更佳,如果文章对你有帮助请帮我点一个Star
~
更新:支持在线阅读文章,根据发布日期分类。
@[toc]
文章推荐:
文中使用到的软件:
目录 | 软件 | 介绍 |
---|---|---|
1.1 | VMware Workstation Pro | windows虚拟机 |
1.2 | CentOS-7-x64 | liunx系统 |
4.2 | FinalShell | SSH工具 |
1 安装虚拟机
1.1 虚拟机下载
根据自身的系统,下载可以运行的VMware
虚拟机
VMware官方网站
VMware Workstation Pro 16 发行说明
https://docs.vmware.com/en/VMware-Workstation-Pro/16/rn/VMware-Workstation-16-Pro-Release-Notes.html
VMware Workstation Pro 16 官方下载下载地址
复制下面链接打开迅雷即可下载: https://download3.vmware.com/software/wkst/file/VMware-workstation-full-16.0.0-16894299.exe
VMware Workstation Pro 15.5.6 官方下载下载地址
复制下面链接打开迅雷即可下载: https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.5.6-16341506.exe
1.2 系统下载
根据自身对系统的熟系情况进行安装,下面教程对应系统为 CentOS-7-x86_64-DVD-2009.iso
系统推荐MSDN官网
https://next.itellyou.cn/Original/Index

2 新增虚拟机
2.1 创建新的虚拟机

2.2 自定义高级

2.3 默认下一步

2.4 稍后安装操作系统

2.5 选择CentOS 7 64位

2.6 选择位置

2.7 根据电脑配置来选择

2.8 设置内存

2.9 默认选择NAT

2.10 默认参数



2.11 设置硬盘大小

2.11 默认参数 --> 下一步

2.12 完成虚拟机新增

3 安装系统
3.1 编辑虚拟机设置

3.2 CD/DVD
--> 使用ISO --> 选择下载的操作系统 --> 确定 --> 开启虚拟机

3.3 选择 Install CenterOS 7

3.4 选择系统语言

3.5 点击安装位置-->确定-->开始安装

3.6 设置root密码123456
--> 确定(根据需要创建用户)--> 等待安装

3.7 安装完成-->重启

3.8 授权许可证-->同意-->完成-->结束配置

4 系统配置
4.1 网络配置
4.1.1 查看网卡
ip addr

通过
ip addr
查看当前网卡的配置信息,当前系统的 ens33 网卡并没有 ipv4 及 ipv6, 没有 ip地址 则只能说明一个问题,当前 linux 系统是没有办法上网的,lo 这块网卡每一个系统中都会有, 这个称之为回环网卡。
4.1.2 修改网络信息配置文件
1、CentOS7 默认网卡设备文件存放于 /etc/sysconfig/network-scripts/
cd /etc/sysconfig/network-scripts
2、可以看到网卡ifcfg-ens33,不是每个人都是ens33别跟着打自己看一下
vi ifcfg-ens33
3、把ONBOOT=no
,改成yes,配置一个DNS1(填写你所在的网络可用的dns服务器地址即可)

# ESC保存并退出
:wq
4、重启网卡服务,执行service network restart
,然后总算能上网了

5、输入 ip addr
就可以看到获取到ip地址,可以正常上网啦

4.2 使用 FinalShell
SSH连接 CenterOS
下载地址(官网):http://www.hostbuf.com/
1、安装完成后打开:新建 --> SSH连接

2、输入名称、ip地址、用户名、密码

4.3 安装vim
可自动安装,完毕后,即可使用vim编辑器。
yum -y install vim*

5 Base环境配置
本文将按照
时间顺序排序
,这样更加方便读者跟着操作。本文不对某个知识点进行展开性的讲解,只对使用到的技术做简单的介绍,有兴趣的小伙伴可自行去官网阅读相关文档。
本篇幅不再重复讲解本地运行
ruoyi-cloud
,可以查看博主同本笔记的本地运行章节:【手把手教程】本地运行RuoYi-Cloud
你们看完【手把手教程】本地运行RuoYi-Cloud 项目一定运行起来啦,我们接下来做部署到服务器的操作叭~
5.1 插件安装sh支持
5.1.1 插件安装sh支持
或者其他可以执行sh的插件
需要安装了Git
官网下载地址:https://plugins.jetbrains.com/plugin/index?xmlId=BashSupport
安装BashSupport插件
5.1.2 设置bash.exe路径
这里我们设置为Git的bash.exe
5.1.3 编写脚本

5.1.4 运行脚本

- 发现出错了,不要慌!
- 编辑运行配置
发现原来是没有指定bash.exe,那么我们指定一下bash.exe路径
5.2 运行docker目录下的 copy.sh
1、修改copy.sh
对版本的sql名字

2、运行copy.sh
3、部署base环境(基础环境mysql、redis、nacos),把文件上传到服务器的 /aService
(自己新建的目录 mkdir /aService
)
[root@localhost /]# mkdir /aService
[root@localhost /]# cd aService/

6 安装Docker
6.1 安装yum-utils
包
[root@localhost docker]# yum install -y yum-utils
6.2 设置存储库
# 官方地址(比较慢)
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 阿里云地址(国内地址,相对更快)
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6.3 安装Docker
引擎
yum install docker-ce docker-ce-cli containerd.io
6.4 安装完成后,运行下面的命令,验证是否安装成功。
docker version # 查看Docker版本信息
systemctl start docker # 启动 docker 服务:
systemctl stop docker # 停止 docker 服务:
systemctl status docker # 查看 docker 服务状态
systemctl restart docker # 重启 docker 服务
6.5 配置镜像
Docker
默认拉取镜像是从这里拉取(https://hub.docker.com
),国外地址拉取的速度比较慢。我们也可以配置国内镜像源。
- 阿里云镜像加速器
访问地址:阿里云镜像加速器,进入容器镜像服务控制台创建加速器。

使用配置文件/etc/docker/daemon.json
(没有时新建该文件)。
[root@localhost ~]# mkdir /etc/docker/
[root@localhost ~]# touch /etc/docker/daemon.json
[root@localhost ~]# vim /etc/docker/daemon.json
# 添加如下内容,可以自己替换。默认地址是我的创建的
{
"registry-mirrors": ["https://mr63yffu.mirror.aliyuncs.com"]
}
重启Docker Daemon
即可。
systemctl daemon-reload
7 Docker Compose
我们可以通过Dockerfile
文件让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况,或者开发一个Web
应用,除了Web
服务容器本身,还需要数据库服务容器、缓存容器,甚至还包括负载均衡容器等等。
Docker Compose
恰好满足了这样的需求,它是用于定义和运行多容器Docker
应用程序的工具。通过Compose
,您可以使用YAML
文件来配置应用程序所需要的服务。然后使用一个命令,就可以通过YAML
配置文件创建并启动所有服务。
Docker Compose项目是
Docker官方的开源项目,来源于之前的
Fig项目,使用
Python语言编写。负责实现对
Docker容器集群的快速编排。项目地址为:
https://github.com/docker/compose/releases
Docker Compose
使用的三个步骤为:
- 使用
Dockerfile
文件定义应用程序的环境; - 使用
docker-compose.yml
文件定义构成应用程序的服务,这样它们可以在隔离环境中一起运行; - 执行
docker-compose up
命令来创建并启动所有服务。
7.1 Compose 安装
官方文档:https://docs.docker.com/compose/install/
您可以在macOS
,Windows
和Linux
上运行Compose
。本文演示基于Linux
环境的安装。我们可以使用curl
命令从Github
下载它的二进制文件来使用,运行以下命令下载Docker Compose
的当前稳定版本。或者从网页下载后上传至服务器指定目录/usr/local/bin
也行。
- 下载
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 因为Docker Compose存放在GitHub,可能不太稳定。可以通过DaoCloud加速下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
您可以通过修改 URL 中的版本,自定义您所需要的版本文件。
安装完成以后,查看指定目录,发现该文件没有可执行权限,进行授权操作。
- 授权
# 将可执行权限应用于该二进制文件
sudo chmod +x /usr/local/bin/docker-compose
- 测试
docker-compose --version
- 卸载
rm /usr/local/bin/docker-compose

7.2 启动base环境
1、给 deploy.sh
添加执行权限
[root@localhost docker]# chmod +x deploy.sh
2、开放微服务的端口
[root@localhost docker]# ./deploy.sh port

3、启动base环境
[root@localhost docker]# ./deploy.sh base
Mysql的密码在 /docker/docker-compose.yml 中配置

4、查看容器是否启动
[root@localhost docker]# docker-compose ps

5、访问 nacos
:http://服务器ip地址:8848/nacos/
账号密码:nacos

6、进入后可以看到public
空间有配置即可

8 生产环境的部署
8.1 需求
我们需要不同环境使用不同的配置,例如开发使用 dev
,测试使用 test
,生产使用 prod
。
8.2 如何区分不同环境下配置文件
当在多配置文件中,需要切换配置文件时,通常的做法都是修改激活的文件名称,而spring.profiles.active=@profiles.active@
是配合maven profile
进行选择不同配置文件进行启动,可以避免修改文件,而在maven
打包是指定使用哪个配置文件。
1、配置pom.xml
,定义不同环境配置属性。
<profiles>
<profile>
<!-- 本地环境 -->
<id>dev</id>
<properties>
<spring.profile>dev</spring.profile>
<nacos.server.address>127.0.0.1:8848</nacos.server.address>
<nacos.server.namespace></nacos.server.namespace>
</properties>
<activation>
<!-- 是否默认激活 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<spring.profile>test</spring.profile>
<nacos.server.address>120.120.120.120:8848</nacos.server.address>
<nacos.server.namespace>test</nacos.server.namespace>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<!-- 生产环境 -->
<id>prod</id>
<properties>
<spring.profile>prod</spring.profile>
<nacos.server.address>http://服务器的ip地址:8848</nacos.server.address>
<nacos.server.namespace>prod</nacos.server.namespace>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>

2、把所有模块的 bootstrap.yml
修改对应的配置文件,示例如下。
# Tomcat
server:
port: 9200
# Spring
spring:
application:
# 应用名称
name: ruoyi-auth
profiles:
# 环境配置
active: @spring.profile@
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: @nacos.server.address@
config:
# 配置中心地址
server-addr: @nacos.server.address@
# 命名空间
namespace: @nacos.server.namespace@
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
3、打包测试。
mvn clean package -P dev
mvn clean package -P test
mvn clean package -P prod
打包成功后会进行对应的替换,例如使用test
环境打包,配置文件的@nacos.server.address@
会被替换成pom.xml
测试配置环境变量nacos.server.address
值120.120.120.120:8848
。
4、运行 prod
示例
mvn clean package -P prod

注意可能出现的错误:由于Windows使用的GBK编码,nacos使用utf-8,所以读取配置文件时候出错了
报错:
parse data from Nacos error,dataId:application-dev.yml,data:spring: autoconf
解决方案一:
启动项目时添加参数-Dfile.encoding=utf-8
java -Dfile.encoding=utf-8 -jar xxx.jar
解决方案二:(推荐)
1、第一个需要设置文件编码格式的位置
File --> Settings --> Editor --> File Encodings
img 2、第三个需要设置文件编码格式的位置
File --> Settings --> Build,Execution,Deployment --> Compiler --> Java Compiler
设置
Additional command line parameters
选项为-encoding utf-8
8.3 nacos
配置生产环境空间 prod
1、打开 nacos
:http://服务器ip:8848/nacos/
;新建命名口空间。

2、克隆配置:配置列表 --> 全选 --> 克隆 --> 修改名字

3、修改完名字后开始克隆

8.4 配置 prod
的配置文件
这里以 ruoyi-system-prod.yml
为例子,其他的也一样修改。

主要将redis
和mysql
的地址修改为容器的名,也就是ruoyi-redis
和ruoyi-mysql
。

8.3 打包项目
打包项目先把本地的项目停止了
1、后端打包项目
mvn clean package -P prod

2、前端打包
# 进入项目目录
cd ruoyi-ui
# 构建生产环境
npm run build:prod
3、运行copy.sh

4、部署modules
(auth、gatway、system),把文件上传到服务器的 /aService
(自己新建的目录 mkdir /aService
)
[root@localhost /]# cd aService/

5、上传完成后我们部署
[root@localhost docker]# ./deploy.sh modules
6、查看日志,看看是否有报错
[root@localhost docker]# docker-compose logs
7、没有报错就可以正常进入啦

最后说一句(求关注,别白嫖我)
如果这篇文章对您有所帮助,或者有所启发的话,帮忙点击关注一下,您的支持是我坚持写作最大的动力。
求一键三连:点赞、转发、收藏。