在分布式开发中我们利用spring-cloud-alibaba给我们提供的nacos作为注册中心和配置中心,下面我们就利用服务器安装的docker来安装nacos并配置持久化功能。
一、下载
想要安装nacos就必须先下载,我们打开nacos的下载地址,看到最新的版本更新到了1.3.0版本,但是我们一般不用最新的,这里我选择的是1.2.0稳定版。
打开1.2.0版本的详情页面,点击下载会比较慢,我们利用迅雷加快下载速度: 图片.png
下载好了我们解压开,找到nacos目录下conf目录中的nacos-mysql的sql文件:
图片.png
在打开服务器数据库新建nacos-config数据库,字符集为utf-8,新建好后执行刚刚的sql语句,数据库里会多出来一下表和数据:
图片.png
二、安装并配置
准备好nacos的数据库,接下来在服务器上安装nacos,我们可以之间将刚刚解压的nacos文件上传到服务器安装,但是今天我们利用另一种方法安装,就是使用docker容器技术,前提是服务器安装了docker,如果不知道怎么安装,可以看我之前的开发环境准备先安装docker,使用xshell6连接到服务器:
执行命令下载nacos镜像:
docker pull nacos/nacos-server1.2.0 //如果不带版本号就会默认下载最新的版本
下载好了之后使用命令查看下载的镜像:
docker images
图片.png
下载好nacos镜像之后我们需要建立一些映射文件和配置文件,因为每一个docker镜像都是一个独立的虚拟机容器,不便于配置,所以我们通过映射文件将容器的配置文件目录映射到我们服务器的真正目录,便于配置,我们之前已经安装过mysql和redis,接着配置nacos,执行命令新建挂载文件夹和文件:
mkdir -p /mydata/nacos/logs/ #新建logs目录
mkdir -p /mydata/nacos/init.d/
vim /mydata/nacos/init.d/custom.properties #修改配置文件
在配置文件custom.properties添加参数:
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
#这里的数据库连接信息更改成我们前面准备好的nacos数据库
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
添加好后保存并退出,接着我们执行命令启动容器:
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
确保启动没有错误,我们可以查看日志:
cat /mydata/nacos/logs/start.out
看到启动没有报错:
图片.png
在进行测试访问,在本地浏览器输入服务器地址加8848端口测试访问:
图片.png
可以成功访问到nacos则安装成功,如果没有访问则试着打开服务器的8848端口,在进行测试。到此我们利用docker安装nacos完成。
注:配置容器自启动
docker update nacos --restart=always
网友评论