nacos主要分为注册中心与配置中心,注册中心与zookeeper、eruka类似,用来做服务发现,服务注册。配置中心用来做动态配置。目前nacos最新版本为2.0.3,下面以2.0.3版本演示搭建流程。
1.下载nacos压缩包点击跳转github下载
2.上传压缩包至服务器解压后复制三份,分别为nacos8848,nacos8850,nacos8852。
3.进入解压后conf目录,修改application.properties文件,指定端口为8848,8850,8852,nacos2.0+版本增加grpc通信方式,会在原端口增加偏移量为1000,1001的端口用户grpc通信,所以指定端口时要间隔一位,避免端口冲突。
#nacos端口
server.port=8848
#使用mysql存储
spring.datasource.platform=mysql
#指定使用数据库数量
db.num=1
###数据库连接相关信息
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
3.将cluster.conf.example重命名为cluster.conf,并修改集群配置中ip与端口。
ip:8848
ip:8850
ip:8852
4.进入bin目录下./startup.sh 进行启动,nacos默认-Xms2g -Xmx2g -Xmn1g,内存不足的机器起不来,可以通过使用swap增加内存(swap使用可参考linux swap开启、关闭、监控)。也可修改startup.sh参数,例如我的修改为512m。
5.启动后可分别访问ip:8848,ip:8850,ip:8852进行使用,默认账号密码nacos/nacos。
至此集群已经搭建完成,nacos推荐使用nginx进行代理,不对外开放集群端口,nginx方面需修改nginx.conf文件
#http模块增加
upstream nacos.com {
server ip:8848;
server ip:8850;
server ip:8852;
}
server {
listen 8853;
location / {
proxy_pass http://nacos.com;
access_log /data/logs/8853_access.log main;
error_log /data/logs/8853_error.log error;
proxy_set_header backendIP $upstream_addr;
proxy_set_header backendCode $upstream_status;
}
}