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

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

笔记介绍

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

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

文章目录

  • 若依微服务版服务器部署(手把手教程)
    • 笔记介绍
      • 文章推荐:
      • 文中使用到的软件:
    • 1 安装虚拟机
      • 1.1 虚拟机下载
        • VMware官方网站
        • VMware Workstation Pro 16 发行说明
        • VMware Workstation Pro 16 官方下载下载地址
        • VMware Workstation Pro 15.5.6 官方下载下载地址
      • 1.2 系统下载
        • 系统推荐MSDN官网
    • 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 查看网卡
        • 4.1.2 修改网络信息配置文件
      • 4.2 使用 `FinalShell` SSH连接 CenterOS
      • 4.3 安装vim
    • 5 Base环境配置
      • 5.1 插件安装sh支持
        • 5.1.1 插件安装sh支持
        • 5.1.2 设置bash.exe路径
        • 5.1.3 编写脚本
        • 5.1.4 运行脚本
      • 5.2 运行docker目录下的 `copy.sh`
    • 6 安装Docker
      • 6.1 安装`yum-utils`包
      • 6.2 设置存储库
      • 6.3 安装`Docker`引擎
      • 6.4 安装完成后,运行下面的命令,验证是否安装成功。
      • 6.5 配置镜像
    • 7 Docker Compose
      • 7.1 Compose 安装
      • 7.2 启动base环境
    • 8 生产环境的部署
      • 8.1 需求
      • 8.2 如何区分不同环境下配置文件
      • 8.3 打包项目
    • 最后说一句(求关注,别白嫖我)

文章推荐:

  • 【手把手教程】本地运行RuoYi-Cloud
  • RuoYi-Cloud 新建子模块注意事项

文中使用到的软件:

目录 软件 介绍
1.1 VMware Workstation Pro windows虚拟机
1.2 CentOS-7-x64 liunx系统
4.2 FinalShell SSH工具

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

【手把手教程】若依微服务版服务器部署_第1张图片

2 新增虚拟机

2.1 创建新的虚拟机

【手把手教程】若依微服务版服务器部署_第2张图片

2.2 自定义高级

【手把手教程】若依微服务版服务器部署_第3张图片

2.3 默认下一步

【手把手教程】若依微服务版服务器部署_第4张图片

2.4 稍后安装操作系统

【手把手教程】若依微服务版服务器部署_第5张图片

2.5 选择CentOS 7 64位

【手把手教程】若依微服务版服务器部署_第6张图片

2.6 选择位置

【手把手教程】若依微服务版服务器部署_第7张图片

2.7 根据电脑配置来选择

【手把手教程】若依微服务版服务器部署_第8张图片

2.8 设置内存

【手把手教程】若依微服务版服务器部署_第9张图片

2.9 默认选择NAT

【手把手教程】若依微服务版服务器部署_第10张图片

2.10 默认参数

【手把手教程】若依微服务版服务器部署_第11张图片

【手把手教程】若依微服务版服务器部署_第12张图片

【手把手教程】若依微服务版服务器部署_第13张图片

2.11 设置硬盘大小

【手把手教程】若依微服务版服务器部署_第14张图片

2.11 默认参数 --> 下一步

【手把手教程】若依微服务版服务器部署_第15张图片

2.12 完成虚拟机新增

【手把手教程】若依微服务版服务器部署_第16张图片

3 安装系统

3.1 编辑虚拟机设置

【手把手教程】若依微服务版服务器部署_第17张图片

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

【手把手教程】若依微服务版服务器部署_第18张图片

3.3 选择 Install CenterOS 7

【手把手教程】若依微服务版服务器部署_第19张图片

3.4 选择系统语言

【手把手教程】若依微服务版服务器部署_第20张图片

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

【手把手教程】若依微服务版服务器部署_第21张图片

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

【手把手教程】若依微服务版服务器部署_第22张图片

3.7 安装完成–>重启

【手把手教程】若依微服务版服务器部署_第23张图片

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

【手把手教程】若依微服务版服务器部署_第24张图片

4 系统配置

4.1 网络配置

4.1.1 查看网卡

ip addr

【手把手教程】若依微服务版服务器部署_第25张图片

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

【手把手教程】若依微服务版服务器部署_第26张图片

# ESC保存并退出
:wq

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

【手把手教程】若依微服务版服务器部署_第27张图片

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

【手把手教程】若依微服务版服务器部署_第28张图片

4.2 使用 FinalShell SSH连接 CenterOS

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

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

image-20221102175002735

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

【手把手教程】若依微服务版服务器部署_第29张图片

4.3 安装vim

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

yum -y install vim*

【手把手教程】若依微服务版服务器部署_第30张图片

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插件
    【手把手教程】若依微服务版服务器部署_第31张图片

5.1.2 设置bash.exe路径

这里我们设置为Git的bash.exe
【手把手教程】若依微服务版服务器部署_第32张图片

5.1.3 编写脚本

【手把手教程】若依微服务版服务器部署_第33张图片

5.1.4 运行脚本

【手把手教程】若依微服务版服务器部署_第34张图片

  • 发现出错了,不要慌!出错了
  • 编辑运行配置
    编辑运行配置
    发现原来是没有指定bash.exe,那么我们指定一下bash.exe路径
    【手把手教程】若依微服务版服务器部署_第35张图片

5.2 运行docker目录下的 copy.sh

1、修改copy.sh对版本的sql名字

2、运行copy.sh
【手把手教程】若依微服务版服务器部署_第36张图片

3、部署base环境(基础环境mysql、redis、nacos),把文件上传到服务器的 /aService(自己新建的目录 mkdir /aService

[root@localhost /]# mkdir /aService
[root@localhost /]# cd aService/

【手把手教程】若依微服务版服务器部署_第37张图片

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

  • 阿里云镜像加速器

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

【手把手教程】若依微服务版服务器部署_第38张图片

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

【手把手教程】若依微服务版服务器部署_第39张图片

7.2 启动base环境

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

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

2、开放微服务的端口

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

【手把手教程】若依微服务版服务器部署_第40张图片

3、启动base环境

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

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

【手把手教程】若依微服务版服务器部署_第41张图片

4、查看容器是否启动

[root@localhost docker]# docker-compose ps

【手把手教程】若依微服务版服务器部署_第42张图片

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

【手把手教程】若依微服务版服务器部署_第43张图片

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

【手把手教程】若依微服务版服务器部署_第44张图片

8 生产环境的部署

8.1 需求

我们需要不同环境使用不同的配置,例如开发使用 dev,测试使用 test,生产使用 prod

8.2 如何区分不同环境下配置文件

当在多配置文件中,需要切换配置文件时,通常的做法都是修改激活的文件名称,而[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>

【手把手教程】若依微服务版服务器部署_第45张图片

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

【手把手教程】若依微服务版服务器部署_第46张图片

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

【手把手教程】若依微服务版服务器部署_第47张图片

2、第三个需要设置文件编码格式的位置

File --> Settings --> Build,Execution,Deployment --> Compiler --> Java Compiler

设置 Additional command line parameters选项为 -encoding utf-8
【手把手教程】若依微服务版服务器部署_第48张图片

8.3 nacos配置生产环境空间 prod

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

【手把手教程】若依微服务版服务器部署_第49张图片

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

【手把手教程】若依微服务版服务器部署_第50张图片

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

【手把手教程】若依微服务版服务器部署_第51张图片

8.4 配置 prod的配置文件

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

【手把手教程】若依微服务版服务器部署_第52张图片

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

【手把手教程】若依微服务版服务器部署_第53张图片

8.3 打包项目

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

1、后端打包项目

mvn clean package -P prod

【手把手教程】若依微服务版服务器部署_第54张图片

2、前端打包

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

3、运行copy.sh

【手把手教程】若依微服务版服务器部署_第55张图片

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

[root@localhost /]# cd aService/

【手把手教程】若依微服务版服务器部署_第56张图片

5、上传完成后我们部署

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

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

[root@localhost docker]# docker-compose logs

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

【手把手教程】若依微服务版服务器部署_第57张图片

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

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

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

你可能感兴趣的:(Java,Docker,IDEA,服务器,微服务,java)