在分布式開發(fā)中我們利用spring-cloud-alibaba給我們提供的nacos作為注冊中心和配置中心,下面我們就利用服務(wù)器安裝的docker來安裝nacos并配置持久化功能弦叶。
一科盛、下載
想要安裝nacos就必須先下載,我們打開nacos的下載地址,看到最新的版本更新到了1.3.0版本壳快,但是我們一般不用最新的纸巷,這里我選擇的是1.2.0穩(wěn)定版。
打開1.2.0版本的詳情頁面眶痰,點(diǎn)擊下載會(huì)比較慢瘤旨,我們利用迅雷加快下載速度:
下載好了我們解壓開,找到nacos目錄下conf目錄中的nacos-mysql的sql文件:
在打開服務(wù)器數(shù)據(jù)庫新建nacos-config數(shù)據(jù)庫竖伯,字符集為utf-8存哲,新建好后執(zhí)行剛剛的sql語句,數(shù)據(jù)庫里會(huì)多出來一下表和數(shù)據(jù):
二七婴、安裝并配置
準(zhǔn)備好nacos的數(shù)據(jù)庫祟偷,接下來在服務(wù)器上安裝nacos,我們可以之間將剛剛解壓的nacos文件上傳到服務(wù)器安裝打厘,但是今天我們利用另一種方法安裝修肠,就是使用docker容器技術(shù),前提是服務(wù)器安裝了docker户盯,如果不知道怎么安裝嵌施,可以看我之前的開發(fā)環(huán)境準(zhǔn)備先安裝docker,使用xshell6連接到服務(wù)器:
執(zhí)行命令下載nacos鏡像:
docker pull nacos/nacos-server1.2.0 //如果不帶版本號(hào)就會(huì)默認(rèn)下載最新的版本
下載好了之后使用命令查看下載的鏡像:
docker images
下載好nacos鏡像之后我們需要建立一些映射文件和配置文件先舷,因?yàn)槊恳粋€(gè)docker鏡像都是一個(gè)獨(dú)立的虛擬機(jī)容器艰管,不便于配置,所以我們通過映射文件將容器的配置文件目錄映射到我們服務(wù)器的真正目錄蒋川,便于配置牲芋,我們之前已經(jīng)安裝過mysql和redis,接著配置nacos捺球,執(zhí)行命令新建掛載文件夾和文件:
mkdir -p /mydata/nacos/logs/ #新建logs目錄
mkdir -p /mydata/nacos/init.d/
vim /mydata/nacos/init.d/custom.properties #修改配置文件
在配置文件custom.properties添加參數(shù):
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
#這里的數(shù)據(jù)庫連接信息更改成我們前面準(zhǔn)備好的nacos數(shù)據(jù)庫
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=xxxx
db.password=xxxx
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
添加好后保存并退出缸浦,接著我們執(zhí)行命令啟動(dòng)容器:
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server:1.2.0
確保啟動(dòng)沒有錯(cuò)誤,我們可以查看日志:
cat /mydata/nacos/logs/start.out
看到啟動(dòng)沒有報(bào)錯(cuò):
在進(jìn)行測試訪問氮兵,在本地瀏覽器輸入服務(wù)器地址加8848端口測試訪問:
可以成功訪問到nacos則安裝成功裂逐,如果沒有訪問則試著打開服務(wù)器的8848端口,在進(jìn)行測試泣栈。到此我們利用docker安裝nacos完成卜高。
注:配置容器自啟動(dòng)
docker update nacos --restart=always