目录
[MySQL - 服务器1](#MySQL - 服务器1)
[Nacos 安装 - 服务器 1](#Nacos 安装 - 服务器 1)
[产品服务,订单服务部署 - 服务器 2,3](#产品服务,订单服务部署 - 服务器 2,3)
部署准备
前面的文章中,我们的微服务都是在单机上进行部署的,接下来要使用多台服务器,演示分布式服务部署。
我们的部署内容有:
- MySQL 2. Nacos 3. 网关服务 4. 产品服务 5. 订单服务
我们暂且把 MySQL 和 Nacos 网关服务部署为单例,产品服务和订单服务部署为多例。
环境要求
机器个数: 1 --------- N 台。 1 台机器,就是我们前面的单机部署,将所有服务部署在一台服务器上,如果多台,就可以将上面的 5 个服务,根据机器性能分摊,分开部署即可~
本文部署情况:使用 4 台机器

部署操作
MySQL - 服务器1
-
MySQL 安装,在前文中已有叙述。
-
数据初始化,前文已有叙述。
-
对其他服务器授权
MySQL 默认情况下,只允许本地连接,即 localhost,如果其他服务器需要连接到 MySQL,需要 MySQL 对这个服务器进行授权:
语法格式:

- 使用 SQL 语句,创建用户并授权

- 修改 bind-address
执行命令行:

在 vim 中找到并修改 bind-address


- 重启 MySQL 服务器

-
开放 3306 端口号
-
测试授权结果
在 CMD 客户端,使用如下命令行,连接 MySQL,如果可以正确连接,则授权成功


Nacos 安装 - 服务器 1
参考前文 注册中心实现 - Nacos 中的 Nacos 安装过程。
需要注意的是 Nacos 安装前需要先安装 JDK
产品服务,订单服务部署 - 服务器 2,3
两台服务器操作步骤相同
-
安装 JDK
-
确认配置,代码,打包,上传 jar 包 --> 这里主要需要配置的就是 Mysql 地址,账号名,密码,nacos 配置!
-
启动服务
-
测试,观察日志
常见问题:
- 在操作过程中,可能会出现如下提示:

Ubuntu 22.04 版本之后,安装包的过程中,可能会出发 needstart 命令,与用户交互。如果不需要重启,按 Esc 即可~
- 将 jar 包拖入 Linux 服务器时候,如果进度条一直没有变化,则需要先执行命令行:
apt install lrzsz
3.当启动服务,可能有如下报错:

即,未检测到 nacos 配置,注意,nacos 配置需提前配置
- Nacos 默认注册地址为内部局域网 IP,如果各个服务器不在一个局域网时,根据内网 IP 去访问,会出现内网不通,接口调用失败

需要通过 spring.cloud.nacos.discovery.ip 来注册 ip

网关服务部署
-
安装 JDK
-
登录服务器,上传 jar 包
-
启动服务

-
开放对应端口号
-
进行测试