官网安装:集群模式部署 | Nacos 官网

一、手动下载包:Nacos Server 下载 | Nacos 官网

二、创建mysql数据库,并导入数据库

nacos\conf\mysql-schema.sql

三、配置环境,需要jdk17及以上

1.编辑你当前用户的配置文件(通常是 ~/.bashrc):

vim ~/.bashrc

2.在文件末尾添加以下两行:

export JAVA_HOME=/www/server/java/jdk-17.0.8
export PATH=$JAVA_HOME/bin:$PATH

注意:这个JAVA_HOME=/www/server/java/jdk-17.0.8,这个地址是你机器上的实际地址

3.保存退出(按 ESC,然后输入 :wq 回车)

4.执行以下命令让配置立即生效:

source ~/.bashrc

四、集群配置(nacos/conf/cluster.conf),将cluster.conf.example复制cluster.conf

192.168.1.10:8848
192.168.1.11:8848
192.168.1.12:8848

五、修改配置文件${nacos.home}/conf/application.properties

spring.sql.init.platform=mysql

db.num=1
db.url.0=jdbc:mysql://${mysql_host}:${mysql_port}/${nacos_database}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user.0=${mysql_user}
db.password.0=${mysql_password}
## 开启客户端访问鉴权,默认为关闭,可选
nacos.core.auth.enabled=true
## 开启控制台访问鉴权,默认为开启
nacos.core.auth.console.enabled=true
nacos.core.auth.system.type=nacos
nacos.core.auth.plugin.nacos.token.secret.key=${自定义,保证所有节点一致}
nacos.core.auth.server.identity.key=${自定义,保证所有节点一致}
nacos.core.auth.server.identity.value=${自定义,保证所有节点一致}

如果是mysql8.0以上要注意认证方式配置方式使用:--default_authentication_plugin=mysql_native_password,因为8.4mysql_native_password已经禁用也以打开。如果不想用mysql_native_password ,也可以用他默认caching_sha2_password,但

db.url.0=jdbc:mysql://172.21.215.60:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true,其中:
  • allowPublicKeyRetrieval=true:允许 JDBC 客户端从 MySQL 服务器获取 RSA 公钥,这是完成 caching_sha2_password 认证流程所必需的

六、启用集群

sh startup.sh

七、系统自动启动

  1. 创建服务文件:新建一个服务配置文件 /etc/systemd/system/nacos.service

sudo vim /etc/systemd/system/nacos.service

2.编写服务配置:将以下内容写入文件,务必替换路径为你自己的 Nacos 安装目录和 Java 路径

内容:

[Service]
Type=forking
User=root
Group=root
Environment="JAVA_HOME=/www/server/java/jdk-17.0.8"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/www/server/java/jdk-17.0.8/bin"
ExecStart=/bin/bash -c "cd /data/app/nacos/bin && ./startup.sh"
ExecStop=/bin/bash /data/app/nacos/bin/shutdown.sh
Restart=no
LimitNOFILE=65536

3.启用并启动服务:按顺序执行以下命令-2-5-8

给启动脚本添加执行权限

chmod +x /data/app/nacos/bin/startup.sh

同样给停止脚本也加上

chmod +x /data/app/nacos/bin/shutdown.sh
# 1. 重新加载 systemd 配置,让它识别新建的服务
sudo systemctl daemon-reload

# 2. 设置服务开机自启
sudo systemctl enable nacos

# 3. 立即启动 Nacos 服务
sudo systemctl start nacos

4.验证:执行 sudo systemctl status nacos,看到 active (running) 字样就说明成功了-2-5

八、端口说明

端口 用途 谁在使用 关键说明
7848
 Raft 端口 JRaft 集群通信 JRaft 集群通信端口(Raft 选举、日志复制)
8080 控制台端口 (Console) 运维人员,通过浏览器访问UI 你在 application.properties 里配置的 nacos.console.port=8080 就是控制台的访问端口-1-2
8848 服务主端口 (Server) 客户端应用、OpenAPI 调用,HTTP/HTTPS 这是 Nacos 的核心服务端口,用于服务注册、配置管理和 HTTP API 请求-11。你客户端配置的地址应该指向这个端口。
9848 客户端 gRPC 端口 客户端应用(gRPC (HTTP/2) 这是 Nacos 2.0+ 引入的端口,用于客户端与服务端之间高效的 gRPC 长连接通信-3-11。客户端会根据 8848 端口自动偏移计算(+1000)来连接这个端口。
9849 服务端 gRPC 端口 Nacos 集群节点之间 这是你们这次排查的重点,用于集群节点之间的数据同步和心跳检测-3-4-11。它也是基于 8848 端口自动偏移(+1001)生成的。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐