现在的开发中使用微服务架构师最为普遍的,因此需要使用注册中心和配置中心来统一管理配置信息,现阶段nacos使用比较普遍,并且nacos同时具备注册中心和配置中心的功能,支持所有主流的服务发现、配置和管理。因此本篇教程记录了nacos的搭建过程。
由于我们基于Docker安装,因此需要先安装Docker,使用ssh工具登录服务器,用以下命令安装Docker。等待安装完成后开始安装
sudo curl -SsLf https://get.docker.com | bash -s docker --mirror Aliyun
安装完成以后需要启动docker,并允许docker自启
# 启动docker
sudo systemctl start docker
# 设置自启
sudo systemctl enable docker
然后验证Docker是否启动成功,执行完成命令以后如果你看到Active: active (running)字样,说明docker已经启动起来了。
sudo systemctl status docker
在安装nacos服务之前,我们需要先导入sql文件,对应的sql文件在nacos官方github仓库下载。SQL下载地址。
然后连接上mysql数据库,这里我是用的是腾讯云MySQL数据库,在详情中找到相应的数据库信息,如下图。其中的外网地址以及端口是我们需要的,如果轻量云服务器和MySQL数据库在同一区域,可以直接使用内网地址。
通过数据库工具连接上数据库,这里我是用的是navicat。这里我创建了一个nacos_config的数据库。
然后选择nacos_config数据库右键选择运行SQL文件,选择上面下载的sql文件,点击开始按钮,等待出现[SQL] Finished successfully,则执行导入完成。
导入完成后刷新出现这几张表即为成功。
创建nacos需要的文件夹。
# 创建文件夹
sudo mkdir -p /opt/nacos/{logs,init.d,data}
# 设置权限
sudo chmod 777 -R /opt/nacos/
创建docker服务编排文件。并修改其中的mysql地址、端口、用户名和密码为你的的数据库对应的信息。
cat > docker-compose.yaml <<EOF
version: '3'
services:
server:
image: nacos/nacos-server
container_name: nacos-standalone
environment:
JVM_XMS: 512m
JVM_XMX: 512m
PREFER_HOST_MODE: hostname
MODE: standalone
SPRING_DATASOURCE_PLATFORM: mysql
MYSQL_SERVICE_HOST: cdb-xxx.cd.tencentcdb.com
MYSQL_SERVICE_PORT: 10109
MYSQL_SERVICE_USER: nacos_config
MYSQL_SERVICE_PASSWORD: 123456
MYSQL_SERVICE_DB_NAME: nacos
MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&useUnicode=true&serverTimezone=UTC
ports:
- "8848:8848"
- "9848:9848"
- "9555:9555"
volumes:
- ${PWD}/logs:/home/nacos/logs
- ${PWD}/init.d:/home/nacos/init.d
- ${PWD}/data:/home/nacos/data
privileged: true
restart: on-failure
EOF
如果你的系统还没有安装docker-compose,那你需要使用如下命令安装(适用于CentOS)
yum install docker-compose
接下来使用如下命令启动服务,然后等待镜像自动下载完成服务启动。
# 启动服务
docker-compose up -d
接着通过以下命令查看日志,若果没有报错信息,恭喜服务器动起来了。
docker-compose logs -f
来到轻量应用服务器的防火墙页面添加规则,放行对应的端口8848,9848,9555即可。
访问ip:8848/nacos出现下面的界面就可以了,默认的账号和密码都是nacos。
至此,一个单机版的naocs搭建成功了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。