本地部署的配置
文件结构
application.properties #配置文件
mysql-schema.sql #初始化 sql
设置数据库连接,注意,数据库的密码不要有意义#
、\
、@
等这些特殊符号,否则 nacos 可能无法识别,需要使用反斜杠进行转义,不建议使用这些特殊符号来当做 MySQL 密码,建议使用没有意义的特殊符号例如:-
、+
、_
等。
vim application.properties
,取消这些参数的注释
spring.datasource.platform=mysql
# spring.sql.init.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.25.16.28:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos
启动
# linux
startup.sh -m standalone
# windows
startup.cmd -m standalone
启用鉴权(未验证)
开启鉴权之后,才会有权限控制和用户列表
application.properties中的配置信息为
vim application.properties
### If turn on auth system:
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
### 配置自定义身份识别的key(不可为空)和value(不可为空),都可以随机填写
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example
docker部署的配置
修改docker 镜像源
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
# 载入配置文件
systemctl daemon-reload
# 下载 nacos 镜像
docker pull nacos/nacos-server:v2.3.1
如果要 MySQL 连接需要配置nacos 的环境变量,启动必须设置的配置有
变量 | 值 | 备注 |
---|---|---|
MODE | standalone | 单节点部署 |
MYSQL_DATABASE_NUM | 1 | 必须设置为1 |
MYSQL_SERVICE_HOST | 192.25.16.28 | 数据库地址 |
MYSQL_SERVICE_DB_NAME | nacos | 数据库名称 |
MYSQL_SERVICE_USER | nacos | 数据库用户名称 |
MYSQL_SERVICE_PASSWORD | password | 数据库密码 |
SPRING_DATASOURCE_PLATFORM | mysql | 使用 mysql 存储数据 |
设置数据库连接,注意,数据库的密码不要有意义#
、\
、@
等这些特殊符号,否则 nacos 可能无法识别,需要使用反斜杠进行转义,不建议使用这些特殊符号来当做 MySQL 密码,建议使用没有意义的特殊符号例如:-
、+
、_
等。
启用鉴权,必须添加如下环境变量
变量 | 值 | 备注 |
---|---|---|
NACOS_AUTH_ENABLE | true | 启动鉴权 |
NACOS_AUTH_TOKEN | IDVlYWJOTc5MWIxMjI1ZjMwNjg= | 鉴权的密钥 |
NACOS_AUTH_TOKEN_EXPIRE_SECONDS | 18000 | |
NACOS_AUTH_IDENTITY_KEY | nacos | 鉴权的 key,可以自定义 |
NACOS_AUTH_IDENTITY_VALUE | sfinLidf2j1HLIf | 鉴权的值,可以自定义 |
如何生成鉴权的密钥
# 生成32位的密钥
openssl rand -hex 32
86eaa393eaf6d90133db2345c040ef42dfb167b3086df48447c3e9dc965ac69e
转换编码为 base64
在线编码https://www.bing.com/search?q=base64
ODZlYWEzOTNlYWY2ZDkwMTMzZGIyMzQ1YzA0MGVmNDJkZmIxNjdiMzA4NmRmNDg0NDdjM2U5ZGM5NjVhYzY5ZQ==
完整环境变量
spec:
containers:
- env:
- name: MODE
value: standalone
- name: MYSQL_DATABASE_NUM
value: '1'
- name: MYSQL_SERVICE_HOST
value: 192.25.16.28
- name: MYSQL_SERVICE_DB_NAME
value: nacos
- name: MYSQL_SERVICE_USER
value: nacos
- name: MYSQL_SERVICE_PASSWORD
value: Dg6nFDsDTX
- name: SPRING_DATASOURCE_PLATFORM
value: mysql
- name: NACOS_AUTH_ENABLE
value: 'true'
- name: NACOS_AUTH_TOKEN
value: >-
IDVlYWJhMDZlNjMxNGFjYzY1ZmY3ODA5ZGJlNjYxOWQjY2I2OTc5MWIxMjI1ZjMwNjg=
- name: NACOS_AUTH_TOKEN_EXPIRE_SECONDS
value: '18000'
- name: NACOS_AUTH_IDENTITY_KEY
value: nacos
- name: NACOS_AUTH_IDENTITY_VALUE
value: sfinLidf2j1HLIf
docker启动命令
# 带配置信息的启动
docker run -d \
--name nacos \
-p 8848:8848 \
-e MODE=standalone \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=192.25.16.28 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=nacos \
-e MYSQL_SERVICE_PASSWORD=Dg6nFDsDTX \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_TOKEN=IDVlYWJhMDZlNjMxNGFjYzY1ZmY3ODA5ZGJlNjYxOWQjY2I2OTc5MWIxMjI1ZjMwNjg= \
-e NACOS_AUTH_TOKEN_EXPIRE_SECONDS=18000 \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=sfinLidf2j1HLIf \
--restart=always \
nacos/nacos-server:v2.3.1