2-Nacos服务器搭建
1. 下载Nacos
本文用的推荐的版本2.1.1 文档地址
Nacos可以在github上下载,下载地址
也可以自己拉代码打包nacos
测试我选择用windows本地启动,直接选择了方便的方式下载的压缩包,然后解压,得到压缩包
其中,bin下是启停脚本。
2. 部署
部署前可以先修改
conf/application.properties
配置文件,根据自己的需要修改,注意官网说到nacos.core.auth.plugin.nacos.token.secret.key=
这个值以后版本需要强制自定义,否则会报错然后执行
bin/statrtup.cmd -m standalone
,linux执行bin/startup.sh -m standalone
启动。这里启动的是单体应用,没有配置nacos集群,后续配置部署完成,浏览器输入localhost:8848/nacos,默认跳转登录界面
nacos的默认账号密码是nacos/nacos,可以在application.properties中修改。
登录完成后进入主页面
3. 创建配置
主界面点击配置列表右方+
创建配置,配置支持text,json,xml,yml,properties
其余的可后行研究
4. application.properties配置
4.1. 数据持久化配置
nacos默认维护的配置持久化在本地(我也没有找到在哪里),一般而言,我们需要保存在数据库中。
对于mysql,我们先把预设的sql脚本创建好,位置在
bin/conf/nacos-mysql.sql
,初始化好需要的表然后修改配置文件
bin/conf/application.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
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=nacos
db.password.0=nacos
### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2如果配置错了数据库,则会抛出异常
Caused by: com.alibaba.nacos.api.exception.NacosException: Nacos Server did not start because dumpservice bean construction failure : No DataSource set
现在再重新启动,则数据保存在mysql中了,同时,nacos本地也有一份,猜测是为了防止数据库不可用
由配置我们可以看到,nacos支持多数据源的,但是配置了多个怎么还是只保存在0号中呢,跟standalone有关吗?
4.2. 账号配置
nacos默认的登录账号为nacos,密码为nacos,
变更数据存储在mysql之后保存在users表中,密码为加密数据,目测为bcript加密方式。因此建议用默认方式登录之后马上修改密码,也可以在其他地方加密好后替换数据库信息
角色信息也保存在数据库中
1 | INSERT INTO users (username, password, enabled) VALUES ('nacos','$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE); |
用户维护:
管理界面直接用的添加用户、修改用户密码、删除用户的方式管理用户。角色维护:
通过在绑定角色的流程中没有对应的角色名就新建一个并绑定,有就绑定上,其中ROLE_ADMIN
不允许绑定,因此初始化的nacos账号尤其重要
由于用名字匹配,因此要注意添加的书写
此处的角色为简易方式执行的,官方应该有可以接入自己权限系统的扩展权限维护:
权限维护同样采用了类似角色的简易方式,有则直接绑定,没有就新建一个。如下
可以配置资源和动作,资源即为命名空间
4.3. 命名空间配置
可以在界面添加命名空间,添加了命名空间后可以在权限绑定、配置列表界面使用
命名空间的保存在表tenant_info
中。对,后台取的概念一个命名空间为一个租户,
4.4. 配置管理
配置管理用到的表有
config-info
: 配置信息his_config_info
: 记录历史信息的config_info_aggr
config_info_beta
config_info_tag
config_tags_relation
有的不知道啥用,以后用到了再说
配置列表中新建配置需要在某一个命名空间下,可以传入Group和应用
nacos还支持历史记录,,可以比对历史,并支持还原
4.5. 服务管理
4.6. 集群管理
4.7. 配置文件
由于有nacos脚本,我们只需要改conf/application.properties
,除了上述的数据库配置以外,还有其他的应用中的参数
1 |
|
具体配置见官方文档