环境
CentOS Linux release 7.9.2009 (Core)
JDK 1.8+
Nacos 1.4.0
Mysql 5.7
ip:192.168.1.110 192.168.1.120 192.168.1.130
下载nacos,可以根据自己需要下载相应的版本

官方建议至少3个或3个以上的节点来实现集群模式
,所以三个节点都需要下载
wget https://github.com/alibaba/nacos/releases/download/1.4.0/nacos-server-1.4.0.tar.gz
#解压缩
tar zxvf nacos-server-1.4.0.tar.gz
mv nacos /opt/
cd /opt/nacos/conf
cp -a cluster.conf.example cluster.conf
编辑cluster.conf,添加如下内容
vim cluster.conf
192.168.1.110:8848
192.168.1.120:8848
192.168.1.130:8848
配置 MySQL 数据库
集群模式必须使用MySQL
数据库,生产使用建议至少主备模式
,或者采用高可用数据库
。初始化 MySQL 数据库,脚本在nacos的conf目录下有配置文件nacos-mysql.sql
,直接执行即可
编辑application.properties配置文件添加如下内容
db.num=1
db.url.0=jdbc:mysql://192.168.1.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos123
#nacos开启账号权限管理
nacos.core.auth.enabled=true

db.url.0 指定不同的数据库连接
如果有多个数据库实例通过 db.url.0、db.url.1… 指定不同的数据库连接
分别把3个实例都启动起来,执行nacos的bin目录下startup.sh
,该启动文件默认就是集群模式,查看/opt/nacos/logs日志文件是否报错,没有报错则启动成功,可以分别访问看看是否成功。
在生产环境中我是用云服务的slb做的负载访问,也可以用Nginx进行转发,例:
server {
listen 80;
server_name nacos.wmmzz.com;
location / {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://nacos_servers;
proxy_set_header Host $host;
add_header X-Accel-Redirect $sent_http_filepath;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /opt/logs/nginx/nacos.wmmzz.com_access.log main;
}
upstream nacos_servers {
server 192.168.1.110:8848 weight=1 max_fails=2 fail_timeout=10s;
server 192.168.1.120:8848 weight=1 max_fails=2 fail_timeout=10s;
server 192.168.1.130:8848 weight=1 max_fails=2 fail_timeout=10s;
}
nacos控制台访问:nacos.wmmzz.com/nacos
默认账号:nacos 密码:nacos
