文章目录
- 环境准备
- 下载Nacos稳定发布包
- 解压运行Nacos包
- 配置Nacos多环境
- 配置列表
- 全局参数
- Naming模块
- Config模块
- CMDB模块
- Nacos Java Client
- 通用参数
- Naming客户端
- Config客户端
环境准备
安装Nacos需要Java和Maven环境,如果未安装可以参考:
Centos安装配置Java环境Centos7安装Maven3.6.x
下载Nacos稳定发布包
运行命令wget https://github.com/alibaba/nacos/releases/download/1.2.1/nacos-server-1.2.1.tar.gz
解压运行Nacos包
运行命令tar -zxvf nacos-server-1.2.1.tar.gz
进入解压目录 cd nacos-server-1.2.1
编辑配置 vim conf/application.properties
一般默认配置就够用了,如果有特殊需求可参考配置列表进行自定义配置
运行 Nacos bin/startup.sh -m standalone
这里是以单机模式运行的命令,如果要配置集群需要编辑conf/cluster.conf 文件,并且需要在每个Nacos实例内conf/application.properties 配置数据库连接信息
启动完毕访问http://ip:8848/nacos
默认账号密码都是nacos
配置Nacos多环境
Nacos提供了命名空间(namespace)供我们用来做不同的环境之间隔离和切换管理,Group 来做不同项目的之间的服务与配置隔离、管理(Group需要在具体开发的服务上进行配置GroupId)
自定义开发、测试、生产环境:登录到Nacos控制台,点击命名空间。新建命名空间,我这里按照平常开发的习惯分成了三个环境分别是dev开发环境、test测试环境、pro生产环境。
配置列表
全局参数
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
nacos.home(-D) | Nacos的根目录 | 目录路径 | Nacos安装的目录 | >= 0.1.0 |
nacos.standalone(-D) | 是否在单机模式 | true/false | false | >= 0.1.0 |
nacos.functionMode(-D) | 启动模式,支持只启动某一个模块,不设置时所有模块都会启动 | config/naming/空 | 空 | >= 0.9.0 |
nacos.inetutils.prefer-hostname-over-ip |
| true/false | false | >= 0.3.0 |
nacos.inetutils.ip-address | 本机IP,该参数设置后,将会使用这个IP去 | 本机IP | null | >= 0.3.0 |
nacos.security.ignore.urls | 控制台鉴权跳过的接口 | 需要跳过控制台鉴权的接口列表 | 空 | >= 0.9.0 |
Naming模块
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
nacos.naming.data.warmup | 是否在Server启动时进行数据预热 | true/false | false | >= 1.0.2 |
nacos.naming.expireInstance | 是否自动摘除临时实例 | true/false | true | >= 1.0.2 |
nacos.naming.distro.taskDispatchPeriod | 同步任务生成的周期,单位为毫秒 | 正整数 | 200 | >= 1.0.2 |
nacos.naming.distro.batchSyncKeyCount | 同步任务每批的key的数目 | 正整数 | 1000 | >= 1.0.2 |
nacos.naming.distro.syncRetryDelay | 同步任务失败的重试间隔,单位为毫秒 | 正整数 | 5000 | >= 1.0.2 |
除了上面列到的在application.properties
里配置的属性,还有一些可以在运行时调用接口来进行调节,这些参数都在Open API里的查看系统当前数据指标
这个API里有声明。
Config模块
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
db.num | 数据库数目 | 正整数 | 0 | >= 0.1.0 |
db.url.0 | 第一个数据库的URL | 字符串 | 空 | >= 0.1.0 |
db.url.1 | 第二个数据库的URL | 字符串 | 空 | >= 0.1.0 |
db.user | 数据库连接的用户名 | 字符串 | 空 | >= 0.1.0 |
db.password | 数据库连接的密码 | 字符串 | 空 | >= 0.1.0 |
CMDB模块
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
nacos.cmdb.loadDataAtStart | 是否打开CMDB | true/false | false | >= 0.7.0 |
nacos.cmdb.dumpTaskInterval | 全量dump的间隔,单位为秒 | 正整数 | 3600 | >= 0.7.0 |
nacos.cmdb.eventTaskInterval | 变更事件的拉取间隔,单位为秒 | 正整数 | 10 | >= 0.7.0 |
nacos.cmdb.labelTaskInterval | 标签集合的拉取间隔,单位为秒 | 正整数 | 300 | >= 0.7.0 |
Nacos Java Client
客户端的参数分为两种,一种是通过-D参数进行指定的配置,一种是构造客户端时,通过Properties
对象指定的配置,以下没有带-D标注的都是通过Properties
注入的配置。
通用参数
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
endpoint | 连接Nacos Server指定的连接点,可以参考文档 | 域名 | 空 | >= 0.1.0 |
endpointPort | 连接Nacos Server指定的连接点端口,可以参考文档 | 合法端口号 | 空 | >= 0.1.0 |
namespace | 命名空间的ID | 命名空间的ID | config模块为空,naming模块为public | >= 0.8.0 |
serverAddr | Nacos Server的地址列表,这个值的优先级比endpoint高 | ip:port,ip:port,… | 空 | >= 0.1.0 |
nacos.logging.path(-D) | 客户端日志的目录 | 目录路径 | 用户根目录 | >= 0.1.0 |
Naming客户端
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
namingLoadCacheAtStart | 启动时是否优先读取本地缓存 | true/false | false | >= 1.0.0 |
namingClientBeatThreadCount | 客户端心跳的线程池大小 | 正整数 | 机器的CPU数的一半 | >= 1.0.0 |
namingPollingThreadCount | 客户端定时轮询数据更新的线程池大小 | 正整数 | 机器的CPU数的一半 | >= 1.0.0 |
com.alibaba.nacos.naming.cache.dir(-D) | 客户端缓存目录 | 目录路径 | {user.home}/nacos/naming | >= 1.0.0 |
com.alibaba.nacos.naming.log.level(-D) | Naming客户端的日志级别 | info,error,warn等 | info | >= 1.0.0 |
com.alibaba.nacos.client.naming.tls.enable(-D) | 是否打开HTTPS | true/false | false | >= 1.0.0 |
Config客户端
参数名 | 含义 | 可选值 | 默认值 | 支持版本 |
configLongPollTimeout(config.long-poll.timeout 1.0.1版本) | 长轮询的超时时间,单位为毫秒 | 正整数 | 30000 | >= 1.0.2 |
configRetryTime(config.retry.time 1.0.1版本) | 长轮询任务重试时间,单位为毫秒 | 正整数 | 2000 | >= 1.0.2 |
maxRetry | 长轮询的重试次数 | 正整数 | 3 | >= 1.0.2 |
enableRemoteSyncConfig | 监听器首次添加时拉取远端配置 | 布尔值 | false | >= 1.0.2 |
com.alibaba.nacos.config.log.level(-D) | Config客户端的日志级别 | info,error,warn等 | info | >= 1.0.0 |
JM.SNAPSHOT.PATH(-D) | 客户端缓存目录 | 目录路径 | {user.home}/nacos/config | >= 1.0.0 |