1.预备环境准备
Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:
- 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
- 64 bit JDK 1.8+;下载 & 配置。
- Maven 3.2.x+;下载 & 配置。
2.下载源码或者安装包
我这边下载的是安装包,官方推荐2.2.3版本:Releases · alibaba/nacos · GitHub
上传到服务器,tar -zxvf nacos-server-2.2.3.tar.gz 解压。
3.mysql数据导入nacos数据
在自己的mysql数据库(要部署在linux),新建一个nacos_config数据库。
进入nacos/conf 文件夹,找到mysql-schema.sql ,在自己的mysql创建里面的表
4.修改nacos数据源
进入/root/nacos/conf 文件夹,vi application.properties
去掉相关注释,修改数据源为自己的mysql地址,保存退出
5.启动
进入到bin目录
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
关闭命令:
sh shutdown.sh
6.访问
ip:8848/nacos 访问
访问失败
(1)去阿里云配置防火墙
(2)查看防火墙命令: sudo firewall-cmd --list-all ,发现没nacos8848的端口
(3)添加防火墙
sudo firewall-cmd --zone=public --add-port=8848/tcp --permanent
刷新配置
sudo firewall-cmd --reload
再次访问
7.开启鉴权
nacos直接通过ip+端口访问,很不安全。
(1)修改nacos配置文件,开启鉴权
修改下面4个属性
nacos.core.auth.enabled
nacos.core.auth.server.identity.key
nacos.core.auth.server.identity.value
nacos.core.auth.plugin.nacos.token.secret.key
详细解释这四个关键的认证配置项:
nacos.core.auth.enabled
- 这是认证功能的总开关
- 设置为 true 时,访问 Nacos 需要用户名密码
- 设置为 false 时,可以直接访问,不需要认证
- 作用:控制是否启用 Nacos 的权限认证功能
2.nacos.core.auth.server.identity.key
和 nacos.core.auth.server.identity.value
- 这是服务端身份识别的密钥对
- 用于 Nacos 服务器和客户端之间互相识别身份
- 相当于一个预共享的密钥对
- 作用:确保请求确实来自合法的 Nacos 客户端
3.nacos.core.auth.plugin.nacos.token.secret.key
- 这是 JWT token 的加密密钥
- 用于生成和验证用户登录后的访问令牌
- 必须是 base64 编码且长度 ≥ 32字节
- 作用:确保用户登录令牌的安全性
默认用户名nacos,密码nacos。
进入nacos界面修改默认密码
8.更改项目配置
因为加了鉴权,所以项目配置文件需要加username和password配置
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
username: nacos # 添加默认用户名
password: nacos # 添加默认密码
file-extension: yaml
结束!!!
单机启动:./startup.sh -m standalone 不是sh startup.sh