一、简介
GitHub:https://github.com/alibaba/nacos
二、准备工作
从官方文档可知 Nacos 依赖 Java 环境来运行,并且需要 JDK1.8,没有安装JDK参考JDK安装配置
在 0.7
版本之前,在单机模式时 nacos
使用嵌入式数据库实现数据的存储,0.7
版本增加了支持 mysql
数据源能力,安装 Mysql
可参考:MySQL 安装
三、下载安装
使用 rz
命令将下载好的安装包上传到 /usr/local
上传成功之后解压该文件 会得到一个nacos文件夹
tar -zxvf nacos-server-2.3.2.tar.gz
四、基本配置
nacos
的配置基本上都在 nacos/conf/application.properties
文件中
(1)端口配置
打开 application.properties
文件,默认情况下端口为 8848 可自己修改端口 我这用18848
(2)数据配置
修改后截图:
同时在 MySql
数据库中执行 mysql-schema.sql
或者 nacos-mysql.sql
文件
新建nacos数据库并执行sql脚本
(3)开启鉴权
2.2.2 版本之前的 Nacos 默认控制台,无论服务端是否开启鉴权,都会存在一个登录页;这导致很多用户被误导认为 Nacos 默认是存在鉴权的。在社区安全工程师的建议下,Nacos 自 2.2.2 版本开始,在未开启鉴权时,默认控制台将不需要登录即可访问,同时在控制台中给予提示,提醒用户当前集群未开启鉴权
在用户开启鉴权后,控制台才需要进行登录访问。
在 2.2.0.1
和 2.2.1
版本时,必须执行此变更,否则无法启动;其他版本为建议设置
开启鉴权之前,application.properties
中的配置信息为:
### If turn on auth system:
nacos.core.auth.enabled=false
开启鉴权之后,你可以自定义用于生成 JWT
令牌的密钥,application.properties
中的配置信息为:
### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
### 2.1.0 版本后
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
注意:
文档中提供的密钥为公开密钥,在实际部署时请更换为其他密钥内容,防止密钥泄漏导致安全风险。
在2.2.0.1版本后,社区发布版本将移除以文档如下值作为默认值,需要自行填充,否则无法启动节点。
密钥需要保持节点间一致,长时间不一致可能导致403 invalid token错误。注意:鉴权开关是修改之后立马生效的,不需要重启服务端。动态修改token.secret.key时,请确保token是有效的,如果修改成无效值,会导致后续无法登录,请求访问异常。
(4) 自定义密钥
推荐将配置项设置为 Base64
编码的字符串,且原始密钥长度不得低于 32
字符。例如下面的的例子:
Base 64
加密解密工具:BASE64加密解密
五、单机模式启动
# 单机模式运行
sh startup.sh -m standalone
这里显示 nacos is starting, you can check the /usr/local/nacos/logs/start.out
查看该日志文件
cat /usr/local/nacos/logs/start.out
游览器上访问:http://ip:port/nacos/index.html,ip 是服务器的 ip 地址,port 是启动 nacos 的端口,比如:http://192.63.22.12:8848/nacos/index.html。访问不了先检查防火墙,如果你用的是 云服务器,可别忘了在云服务器上开放该端口号,ip 使用的是公网 ip
可以以下命令监听 nacos
是否正在运行
netstat -tulnp | grep 18848
关闭nacos
在 bin
目录下执行已下命令即可
sh shutdown.sh