一、下載
1.1 GitHub下載
https://github.com/alibaba/nacos/releases
github上可以直接下載可運(yùn)行程序尝艘,也可以下載源碼自己編譯演侯。對(duì)于網(wǎng)速不好的情況比較頭疼。
1.2 gitee下載
https://gitee.com/mirrors/Nacos/tags
gitee只能下載源碼自己編譯背亥,需要JDK8
1.3 nacos部分版本注意點(diǎn)
nacos本身都是jdk1.8編譯的秒际,但是與nacos-client配套的com.alibaba.cloud版本可不是。其中nacos-client-2.2.0是最高支持jdk11狡汉,nacos-client-2.2.1開始最低支持jdk19娄徊,com.alibaba.cloud對(duì)應(yīng)的nacos-client版本可通過(guò)maven庫(kù)中對(duì)應(yīng)版本的pom中查看。
spring-cloud-alibaba-dependencies
之所以特殊提到nacos-client-2.2.0和nacos-client-2.2.1盾戴,是因?yàn)?.2.1配套的com.alibaba.cloud默認(rèn)開啟了https的trustAll寄锐,可完美適配自簽證書的情況。但是很多springboot項(xiàng)目還是jdk8或者jdk11,此時(shí)如果要開啟https锐峭,通常都很難成功,基本都是證書問(wèn)題可婶。想要實(shí)現(xiàn)證書trusALL就得對(duì)源碼動(dòng)手了沿癞,詳細(xì)參考springboot關(guān)于nacos解密和https支持
二、編譯(直接下載可執(zhí)行程序的忽略此操作)
2.1 原始nacos編譯
需要jdk8和maven
git clone https://github.com/alibaba/nacos.git
git checkout tag名稱
mvn clean install -DskipTests -Drat.skip=true -P release-nacos
成功后console/target/nacos-server.jar就是啟動(dòng)jar
2.2 添加加密插件
先編譯nacos矛渴,再編譯加密插件椎扬,因?yàn)椴寮枰蕾噉acos的包;下載的插件需要修改依賴的的nacos版本
git clone https://github.com/nacos-group/nacos-plugin.git
git checkout tag名稱
mvn clean install -DskipTests -Drat.skip=true
修改nacos/config的pom具温,添加加密插件蚕涤,然后再次構(gòu)建nacos
<dependency>
? ? <groupId>com.alibaba.nacos</groupId>
? ? <artifactId>nacos-aes-encryption-plugin</artifactId>
? ? <version>${revision}</version>
</dependency>
編譯完的文件可以打包成和官網(wǎng)下載的壓縮包一樣的目錄結(jié)構(gòu)
mkdir nacos
cp console/target/nacos-server.jar nacos/target/nacos-server.jar
cp distribution/conf/* nacos/conf/
tar -zcvf nacos-server-版本.tar.gz nacos
2.3 開啟https
在application.properties中添加以下內(nèi)容
server.ssl.enabled=true
server.ssl.key-alias=nacos
server.ssl.key-store=證書路徑/nacos.p12
server.ssl.key-store-type=JKS
server.ssl.key-store-password=證書密碼
注意:自簽證書的域名(hostname)與提供給nacos-client的nacos地址一定要一致,否則會(huì)校驗(yàn)不通過(guò)铣猩。當(dāng)然客戶端也可以處理成信任所有證書揖铜,參考springboot關(guān)于nacos解密和https支持
三、初始化
執(zhí)行conf下對(duì)應(yīng)數(shù)據(jù)庫(kù)的腳本达皿,例如mysql-schema.sql
修改conf下的application.properties配置文件中的數(shù)據(jù)庫(kù)地址
打開認(rèn)證?nacos.core.auth.enabled=true
四天吓、啟動(dòng)
4.1 服務(wù)器單機(jī)啟動(dòng)
命令行執(zhí)行:startup.cmd -m standalone
4.2 docker鏡像制作和啟動(dòng)
通常可直接下載nacos鏡像啟動(dòng)即可峦椰。
但是官網(wǎng)鏡像是沒(méi)有加密插件的龄寞,所以如果要添加加密插件就得自己構(gòu)建鏡像。構(gòu)建之前先按照前文準(zhǔn)備好nacos的壓縮包汤功,然后獲取Dockerfile
wget https://github.com/alibaba/nacos/releases/download/{NACOS_VERSION}/nacos-server-{NACOS_VERSION}.tar.gz
修改下載文件中的application.properties物邑,添加https支持
# https
server.ssl.enabled=${SSL_ENABLED:false}
server.ssl.key-alias=${SSL_KEY_ALIAS:nacos}
server.ssl.key-store=${SSL_KEY_STORE:/home/nacos/nacos.p12}
server.ssl.key-store-type=${SSL_KEY_STORE_TYPE:JKS}
server.ssl.key-store-password=${SSL_KEY_STORE_PASSWORD:}
構(gòu)建鏡像
docker build -t nacos:{NACOS_VERSION} .
單機(jī)模式非root用戶啟動(dòng)
#!/bin/bash
#項(xiàng)目名稱
serviceName=nacos
# 綁定的目錄
bindDir=/data/docker-space/$serviceName/bind
# nacos默認(rèn)以鏡像中的nacos用戶啟動(dòng)
# 修改掛載目錄的權(quán)限
chown -R 1000:1000 /data/docker-space/$serviceName/bind/
docker run \
? ? ? ? -v /data/docker-space/$serviceName/bind/data:/home/nacos/data \
? ? ? ? -v /data/docker-space/$serviceName/bind/logs:/home/nacos/logs \
? ? ? ? -v /data/docker-space/$serviceName/bind/nacos.p12:/home/nacos/nacos.p12 \
? ? ? ? --name $serviceName \
? ? ? ? --restart=always \
? ? ? ? --hostname=nacos-standalone \
? ? ? ? -p 8848:8848 \
? ? ? ? -p 9848:9848 \
? ? ? ? -e NACOS_AUTH_ENABLE=true \
? ? ? ? -e SSL_ENABLED=true \
? ? ? ? -e SSL_KEY_STORE_PASSWORD=證書密碼 \
? ? ? ? -e MODE=standalone \
? ? ? ? -e PREFER_HOST_MODE=hostname \
? ? ? ? --log-driver json-file \
? ? ? ? --log-opt max-size=50m \
? ? ? ? --log-opt max-file=2 \
? ? ? ? -d nacos:{NACOS_VERSION}
五、訪問(wèn)
http://localhost:8848/nacos/#/login 默認(rèn)用戶密碼:nacos/nacos