【笔记】Nacos集群部署

前言

Nacos集群部署学习笔记

初始化数据库

  • 在MySQL中创建数据库,并创建数据表
1
2
3
4
5
CREATE DATABASE IF NOT EXISTS nacos;

USE nacos;

source nacos/conf/nacos-mysql.sql

修改配置

  • 配置3份,端口分别是8845、8846、8847

cluster.conf

  • 复制一份cluster.conf.example文件,并更名为cluster.conf
1
cp nacos/conf/cluster.conf.example nacos/conf/cluster.conf
  • 将集群中每一个节点的地址全都追加到配置文件末尾
nacos/conf/cluster.conf
1
2
3
127.0.0.1:8845
127.0.0.1:8846
127.0.0.1:8847

application.properties

  • 修改application.properties配置文件,把第21行改为当前主机的端口号
nacos/conf/application.properties
1
server.port=8845
  • 修改application.properties配置文件,把第33行的注释解除,改为数据库集群的类型,默认为mysql
nacos/conf/application.properties
1
spring.datasource.platform=mysql
  • 修改application.properties配置文件,把第36行的注释解除,改为数据库集群的数量,默认为1
nacos/conf/application.properties
1
db.num=1
  • 修改application.properties配置文件,把第39~41行的注释解除,修改数据库的用户名和密码配置

db.url.0:配置数据库地址
db.user.0:配置数据库用户名
db.password.0:配置数据库密码

nacos/conf/application.properties
1
2
3
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&soc    ketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=
db.password.0=

启动集群

1
2
3
sh nacos-8845/bin/startup.sh -m cluster
sh nacos-8846/bin/startup.sh -m cluster
sh nacos-8847/bin/startup.sh -m cluster

省略

  • 直接利用启动参数启动,不带参数,就是以集群的方式启动
1
2
3
sh nacos-8845/bin/startup.sh
sh nacos-8846/bin/startup.sh
sh nacos-8847/bin/startup.sh

配置Nginx实现负载均衡和反向代理

upstream 负载均衡配置名 {}:指定一组负载均衡配置

nginx/conf/nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
upstream nacos-cluster {
server 127.0.0.1:8845;
server 127.0.0.1:8846;
server 127.0.0.1:8847;
}

server {
listen 8080;
server_name localhost;

location /nacos {
proxy_pass http://nacos-cluster;
}
}

启动Nginx

1
/usr/local/nginx/sbin/nginx

在项目中指向Nginx

1
2
3
4
spring:
cloud:
nacos:
server-addr: http://127.0.0.1:8080

完成

参考文献

哔哩哔哩——黑马程序员