nacos部署

nacos部署,并修改配置指向数据库nacos

unzip nacos-server-2.3.2.zip 
cd nacos/conf
vi application.properties
# 修改配置
server.port=8848
 db.num=1
 db.url.0=jdbc:mysql://127.0.0.1:3307/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
 db.user.0=nacos
 db.password.0=nacos
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

也可以docker 部署,先创建volume,在绑定数据持久化。或者先临时运行一个容器,复制容器内的conf文件到宿主机的指定目录,在run时指定持久化目录

docker volume create nacos
docker run --name nacos-standalone-auth -e MODE=standalone \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=nacos \
-e MYSQL_SERVICE_HOST=172.30.64.10 \
-e MYSQL_SERVICE_PORT=3307 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=nacos \
-v nacos:/home/nacos/conf \
-p 8848:8848 -d -p 9848:9848  \
nacos/nacos-server:v2.4.3

docker安装mysql

docker run -d --name nacos-mysql -e MYSQL_ROOT_PASSWORD=nacos -p 3307:3306 -v /data/nacos-mysql:/var/lib/mysql   mysql:8.0
# 新建数据库为nacos,并将脚本导入
docker cp nacos/conf/mysql-schema.sql 5d5c303ba7ab:/tmp
docker exec -it 5d5c303ba7ab /bin/bash
mysql -uroot -p nacos -D nacos < mysql-schema.sql 

启动服务

sh startup.sh -m standalone

异常排查

登录页面认证后一直提示密码错误,通过F12查看,报caused: Invalid key: javax.crypto.spec.SecretKeySpec@fa77cae6

原因是低版本JDK受限制的加密强度最大仅支持128bit的key。JDK 8u161以后的版本默认支持 unlimited 的加密策略。 更换JDK版本为jdk1.8.0_231后问题就解决

tar -zxvf jdk-8u431-linux-x64.tar.gz 
cd jdk1.8.0_431/
export JAVA_HOME=/home/jenkins/jdk1.8.0_431
export PATH=$JAVA_HOME/bin:$PATH