文章目录
Nacos中文官网: https://nacos.io/zh-cn/docs/quick-start.html
Nacos的单机模式
- 下载:https://nacos.io/zh-cn/docs/what-is-nacos.html
- 进入nacos的安装目录,并启动nacos
cd /usr/local/nacos/bin
sh startup.sh -m standalone &
- 登录:访问http://www.onething.top:8848/nacos,输入默认账号密码:nacos,nacos,默认端口号为8848
- 通过接口测试是否安装成功:Nacos对外提供了接口,可以查看官网
https://nacos.io/zh-cn/docs/open-api.html - 配置文件所在位置:/usr/local/nacos/conf/application.properties
(1)修改端口号
(2)修改账号和密码需要配置外部数据库
- 单机模式支持mysql数据库
Nacos Server默认使用的是内嵌的cmdb数据库,配置管理数据库( Configuration Management Database,简称CMDB)是一个逻辑数据库
配置步骤:
(1)安装数据库,版本要求:5.6.5+
(2)初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
(3)修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
spring.datasource.platform=mysql
#数据库数量
db.num=1
db.url.0=jdbc:mysql://www.onething.top:3306/数据库名?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user=root
db.password=root
- 修改密码的两种方式:
(1)登录nacos管理页面修改
(2)通过mysql数据库进行修改
nacos的密码是使用 org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 加密的
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.3.0.RELEASE</version>
</dependency>
# 生成密码的java代码
public class App {
public static void main(String[] args) {
String pwd = new BCryptPasswordEncoder().encode("123456");
System.out.println(pwd);
}
}
Nacos集群模式配置
本文在同一台服务器搭建伪集群
# 进入nacos配置文件目录,配置集群配置文件,单机配置文件application.properties保持与单机模式一致
cd /usr/local/nacos/conf
# 创建集群配置文件,并修改集群的三个nacos实例的地址
cp cluster.conf.example cluster.conf
配置文件内容
172.16.0.9:8848
172.16.0.9:8849
172.16.0.9:8850
# 复制两份nacos实例
cp -R nacos nacos2
cp -R nacos nacos3
# 进入配置文件,修改端口号
server.port=8848
server.port=8849
server.port=8850
# 启动三个naocs实例
进入各自的bin目录,分别运行启动命令:
sh startup.sh
访问任意一个实例的web管理页面:
Nacos Client获取Nacos Server的配置信息
Nacos Client是根据namespace、group、dataId来获取配置文件信息
- Data Id 配置集id
通常代表项目中某个模块的配置文件,并以
一个配置文件通常就是一个配置集,Data Id就是配置集的唯一标识。
一个配置文件是由多个配置项组成,配置项通常以key-value的形式存在 - Group 配置分组
通常以项目的名称为组名,相当于pom文件的artifactId - namespace 命名空间
(1)可用于区分不同的运行环境,如开发、测试、开发。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置,不同命名空间下配置是相互隔离的
(2)如果是多租户,可以用租户名作为namspace空间的标识
配置文件的导入导出
查看配置文件的历史版本
克隆某个配置到其他环境
回滚某个配置
监听查询:Nacos服务端主动推送,客户端监听
修改配置后,需要查看一下修改后的配置信息是否已推送到监听该配置的机器上。此查询只对使用了监听配置接口监听配置的客户端有效。