ubuntu单主机多端口nacos集群搭建

一、环境准备

Ubuntu 20.04 / 22.04

JDK 1.8+(推荐 JDK8)

MySQL5.7 / MySQL8.0(三节点共用同一个数据库,禁止默认 Derby 内置库)

Nacos 2.2.x / 2.3.x / 2.4.x

服务器内网 IP:192.168.1.220(必须用内网 IP,不能 127.0.0.1/localhost)

二、下载 Nacos 并部署 3 个节点

进入工作目录

cd /data/zkhl

下载安装包

wget https://github.com/alibaba/nacos/releases/download/2.4.0/nacos-server-2.4.0.tar.gz

解压

tar -zxvf nacos-server-2.4.0.tar.gz

复制3份节点

cp -r nacos nacos-8848

cp -r nacos nacos-8858

cp -r nacos nacos-8868

MySQL 数据库创建及初始化

创建数据库nacos_config , 将nacos 下的mysql-schema.sql导入到nacos_config 数据库中

编辑 3 个节点的 cluster.conf,写入集群节点地址,必须写服务器内网 IP,不能写 127.0.0.1,否则集群节点间无法通信

bash 复制代码
192.168.1.220:8848
192.168.1.220:8858
192.168.1.220:8868

修改每个节点 application.properties 配置,例如nacos-8848下的 application.properties

通用配置规则

仅修改 server.port,三个节点分别为:8848、8858、8868

MySQL 连接、鉴权配置三个节点必须完全一模一样

时区必须改为 Asia/Shanghai,避免时间差 8 小时问题

bash 复制代码
# Web访问端口
server.port=8848
server.servlet.contextPath=/nacos

# 开启MySQL数据源
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user.0=root
db.password.0=你的MySQL密码

# 连接池配置(默认无需修改)
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

# 开启权限认证(集群必须开启,三节点密钥完全一致)
nacos.core.auth.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.plugin.nacos.token.expire.seconds=18000

nacos-8858和nacos-8868下的 application.properties内容和上面一样,仅server.port改成各自的端口

启动集群

bash 复制代码
# 1.启动节点1
cd /data/nacos-8848/bin
bash startup.sh

# 等待3秒

# 2.启动节点2
cd /data/nacos-8858/bin
bash startup.sh

# 等待3秒


# 3.启动节点3
cd /data/nacos-8868/bin
bash startup.sh