【手把手教程】若依微服务版服务器部署

71 篇文章 2 订阅
5 篇文章 0 订阅

若依微服务版服务器部署(手把手教程)

📔 笔记介绍

大家好,这里是千寻简笔记,我是作者星辰,笔记内容整理并发布,内容有误请指出,笔记源码已开源,前往Gitee搜索《chihiro-notes》感谢您的观看。

作者各大平台直链: GitHub | Gitee | CSDN

文章目录

文章推荐:

文中使用到的软件:

目录软件介绍
1.1VMware Workstation Prowindows虚拟机
1.2CentOS-7-x64liunx系统
4.2FinalShellSSH工具

1 安装虚拟机

1.1 虚拟机下载

根据自身的系统,下载可以运行的VMware虚拟机

VMware官方网站

https://www.vmware.com

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

image-20221102171130038

2 新增虚拟机

2.1 创建新的虚拟机

image-20220929172300369

2.2 自定义高级

image-20220929172341739

2.3 默认下一步

image-20220929172403963

2.4 稍后安装操作系统

image-20220929172418894

2.5 选择CentOS 7 64位

image-20220929172539279

2.6 选择位置

image-20220930101555810

2.7 根据电脑配置来选择

image-20220930101638188

2.8 设置内存

image-20220930101655934

2.9 默认选择NAT

image-20220929172751553

2.10 默认参数

image-20220929172813830

image-20220929172823630

image-20220929172852000

2.11 设置硬盘大小

image-20220929172900810

2.11 默认参数 --> 下一步

image-20220929172923175

2.12 完成虚拟机新增

image-20220929172936451

3 安装系统

3.1 编辑虚拟机设置

image-20220929173040228

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

image-20221102172434146

3.3 选择 Install CenterOS 7

image-20220930101815433

3.4 选择系统语言

image-20220929173453668

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

image-20220930101936523

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

image-20220929173645815

3.7 安装完成–>重启

image-20220929174503812

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

image-20220929174659038

4 系统配置

4.1 网络配置

4.1.1 查看网卡
ip addr

image-20220930103558457

通过 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服务器地址即可)

image-20220930110512247

# ESC保存并退出
:wq

4、重启网卡服务,执行service network restart,然后总算能上网了

image-20221102174325702

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

image-20220930104529894

4.2 使用 FinalShell SSH连接 CenterOS

下载地址(官网):http://www.hostbuf.com/

1、安装完成后打开:新建 --> SSH连接

image-20221102175002735

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

image-20221102175045994

4.3 安装vim

可自动安装,完毕后,即可使用vim编辑器。

yum -y install vim*

image-20221102175522926

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插件
    BashSupport

5.1.2 设置bash.exe路径

这里我们设置为Git的bash.exe
bash路径

5.1.3 编写脚本

在编写脚本

5.1.4 运行脚本

运行脚本

  • 发现出错了,不要慌!出错了
  • 编辑运行配置
    编辑运行配置
    发现原来是没有指定bash.exe,那么我们指定一下bash.exe路径
    指定bash

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/

image-20221103103622671

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),国外地址拉取的速度比较慢。我们也可以配置国内镜像源。

  • 阿里云镜像加速器

访问地址:阿里云镜像加速器,进入容器镜像服务控制台创建加速器。

alibaba-docker

使用配置文件/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/

您可以在macOSWindowsLinux上运行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

image-20221102180022745

7.2 启动base环境

1、给 deploy.sh添加执行权限

[root@localhost docker]# chmod +x deploy.sh

2、开放微服务的端口

[root@localhost docker]# ./deploy.sh port

image-20221103104044463

3、启动base环境

[root@localhost docker]# ./deploy.sh base

Mysql的密码在 /docker/docker-compose.yml 中配置

image-20221103105338370

4、查看容器是否启动

[root@localhost docker]# docker-compose ps

image-20221103105553110

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

image-20221103105821987

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

image-20221103105956297

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>

image-20221103111751861

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.address120.120.120.120:8848

4、运行 prod示例

mvn clean package -P prod

image-20221103112600582

注意可能出现的错误:由于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
img

8.3 nacos配置生产环境空间 prod

1、打开 nacoshttp://服务器ip:8848/nacos/;新建命名口空间。

image-20221103114813560

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

image-20221103114616131

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

image-20221103114951728

8.4 配置 prod的配置文件

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

image-20221103144515155

主要将redismysql 的地址修改为容器的名,也就是ruoyi-redisruoyi-mysql

image-20221103144612526

8.3 打包项目

打包项目先把本地的项目停止了

1、后端打包项目

mvn clean package -P prod

image-20221103112600582

2、前端打包

# 进入项目目录
cd ruoyi-ui
# 构建生产环境
npm run build:prod

3、运行copy.sh

在这里插入图片描述

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

[root@localhost /]# cd aService/

image-20221103103622671

5、上传完成后我们部署

[root@localhost docker]# ./deploy.sh modules

6、查看日志,看看是否有报错

[root@localhost docker]# docker-compose logs

7、没有报错就可以正常进入啦

image-20221103152027570

最后说一句(求关注,别白嫖我)

如果这篇文章对您有所帮助,或者有所启发的话,帮忙点击关注一下,您的支持是我坚持写作最大的动力。

求一键三连:点赞、转发、收藏。

  • 25
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论
若依是一个微服务框架,可以实现单点登录功能。单点登录(SSO)是指多个站点共用一台认证授权服务器,用户在其中一个站点登录后,可以免登录访问其他所有站点,并且各站点间可以通过该登录状态直接交互。若依通过部署auth、gateway和system模块,并将文件上传到服务器的/aService目录来实现单点登录功能。同时,还需要使用配置文件/etc/docker/daemon.json来配置镜像加速器,以提高镜像下载速度。可以在该文件中添加如下内容来配置镜像加速器:{ "registry-mirrors": \["https://mr63yffu.mirror.aliyuncs.com"\] }。这样就可以实现若依微服务的单点登录功能了。 #### 引用[.reference_title] - *1* [微服务单点登录实现](https://blog.csdn.net/qq_61393507/article/details/121869165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【手把手教程若依微服务服务器部署](https://blog.csdn.net/IUTStar/article/details/127671293)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千寻简

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值