大家好,这里是千寻简笔记,我是作者星辰,笔记内容整理并发布,内容有误请指出,笔记源码已开源,前往Gitee搜索《chihiro-notes》感谢您的观看。
作者各大平台直链: GitHub | Gitee | CSDN
目录 | 软件 | 介绍 |
---|---|---|
1.1 | VMware Workstation Pro | windows虚拟机 |
1.2 | CentOS-7-x64 | liunx系统 |
4.2 | FinalShell | SSH工具 |
根据自身的系统,下载可以运行的VMware
虚拟机
https://www.vmware.com
https://docs.vmware.com/en/VMware-Workstation-Pro/16/rn/VMware-Workstation-16-Pro-Release-Notes.html
复制下面链接打开迅雷即可下载:
https://download3.vmware.com/software/wkst/file/VMware-workstation-full-16.0.0-16894299.exe
复制下面链接打开迅雷即可下载:
https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.5.6-16341506.exe
根据自身对系统的熟系情况进行安装,下面教程对应系统为 CentOS-7-x86_64-DVD-2009.iso
https://next.itellyou.cn/Original/Index
NAT
CD/DVD
--> 使用ISO --> 选择下载的操作系统 --> 确定 --> 开启虚拟机123456
--> 确定(根据需要创建用户)–> 等待安装ip addr
通过
ip addr
查看当前网卡的配置信息,当前系统的 ens33 网卡并没有 ipv4 及 ipv6, 没有 ip地址 则只能说明一个问题,当前 linux 系统是没有办法上网的,lo 这块网卡每一个系统中都会有, 这个称之为回环网卡。
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地址,可以正常上网啦
FinalShell
SSH连接 CenterOS下载地址(官网):http://www.hostbuf.com/
1、安装完成后打开:新建 --> SSH连接
2、输入名称、ip地址、用户名、密码
可自动安装,完毕后,即可使用vim编辑器。
yum -y install vim*
本文将按照
时间顺序排序
,这样更加方便读者跟着操作。本文不对某个知识点进行展开性的讲解,只对使用到的技术做简单的介绍,有兴趣的小伙伴可自行去官网阅读相关文档。
本篇幅不再重复讲解本地运行
ruoyi-cloud
,可以查看博主同本笔记的本地运行章节:【手把手教程】本地运行RuoYi-Cloud
你们看完【手把手教程】本地运行RuoYi-Cloud 项目一定运行起来啦,我们接下来做部署到服务器的操作叭~
或者其他可以执行sh的插件
copy.sh
1、修改copy.sh
对版本的sql名字
3、部署base环境(基础环境mysql、redis、nacos),把文件上传到服务器的 /aService
(自己新建的目录 mkdir /aService
)
[root@localhost /]# mkdir /aService
[root@localhost /]# cd aService/
yum-utils
包[root@localhost docker]# yum install -y yum-utils
# 官方地址(比较慢)
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
Docker
引擎yum install docker-ce docker-ce-cli containerd.io
docker version # 查看Docker版本信息
systemctl start docker # 启动 docker 服务:
systemctl stop docker # 停止 docker 服务:
systemctl status docker # 查看 docker 服务状态
systemctl restart docker # 重启 docker 服务
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
我们可以通过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
命令来创建并启动所有服务。官方文档: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
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
空间有配置即可
我们需要不同环境使用不同的配置,例如开发使用 dev
,测试使用 test
,生产使用 prod
。
当在多配置文件中,需要切换配置文件时,通常的做法都是修改激活的文件名称,而[email protected]@
是配合maven profile
进行选择不同配置文件进行启动,可以避免修改文件,而在maven
打包是指定使用哪个配置文件。
1、配置pom.xml
,定义不同环境配置属性。
<profiles>
<profile>
<id>devid>
<properties>
<spring.profile>devspring.profile>
<nacos.server.address>127.0.0.1:8848nacos.server.address>
<nacos.server.namespace>nacos.server.namespace>
properties>
<activation>
<activeByDefault>trueactiveByDefault>
activation>
profile>
<profile>
<id>testid>
<properties>
<spring.profile>testspring.profile>
<nacos.server.address>120.120.120.120:8848nacos.server.address>
<nacos.server.namespace>testnacos.server.namespace>
properties>
<activation>
<activeByDefault>falseactiveByDefault>
activation>
profile>
<profile>
<id>prodid>
<properties>
<spring.profile>prodspring.profile>
<nacos.server.address>http://服务器的ip地址:8848nacos.server.address>
<nacos.server.namespace>prodnacos.server.namespace>
properties>
<activation>
<activeByDefault>falseactiveByDefault>
activation>
profile>
profiles>
<build>
<resources>
<resource>
<directory>src/main/resourcesdirectory>
<filtering>truefiltering>
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
2、第三个需要设置文件编码格式的位置
File --> Settings --> Build,Execution,Deployment --> Compiler --> Java Compiler
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
。
打包项目先把本地的项目停止了
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、没有报错就可以正常进入啦
如果这篇文章对您有所帮助,或者有所启发的话,帮忙点击关注一下,您的支持是我坚持写作最大的动力。
求一键三连:点赞、转发、收藏。