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