一、Nacos 简介
Nacos(Naming and Configuration Service)致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
详情查看Nacos 官方文档[1]
二、Nacos 安装
1、Nacos 依赖
Nacos 基于 java 开发的,运行依赖于 java 环境。
依赖 64 bit JDK 1.8+,前往官网下载 JDK[2]
2、Nacos 安装
下载编译后压缩包,最新稳定版本[3]
unzipnacos-server-$version.zip或者tar-xvfnacos-server-$version.tar.gzcdnacos/bin三、Nacos 部署
1、单实例部署
单实例部署不适合生产环境,单点故障是致命的。
Linux 单实例非集群模式启动命令
startup.sh-mstandaloneLinux 单实例非集群模式关闭命令
shutdown.sh访问 nacos 管理页面,初始化用户名密码均为 nacos

2、集群部署
1、集群架构

2、本地虚拟机模拟集群部署
本地环境准备
在本地 PC 机上利用 VMware workstation 虚拟出如上表所示的几台机器,其中 Nginx 和 MySQL 都是采用的单实例,仅做练习使用。
搭建步骤
初始化 nacos 必须的数据库表并配置
找到 Nacos 安装目录下提供的数据库脚本文件

在 MySQL 实例创建 nacos_config 库并导入脚本

修改修改 Nacos 配置文件,指向 MySQL 实例,替换其内嵌数据库

说明:三台 nacos 实例都需要切换 MySQL 平台,均需执行以上操作
nacos 集群配置
复制 cluster.conf 文件
Nacos 集群配置,修改 cluster.conf 文件
[root@localhostconf]#vim./cluster.conf #itisip #example 192.168.15.145 192.168.15.147 192.168.15.148说明:三台 nacos 实例都需要做以上集群配置,至此关于 nacos 的配置结束了,可以尝试以集群模式启动三个 nacos 实例了
以集群模式分别启动三个 nacos 实例


尝试访问 nacos 管理页,测试三个实例是否正常

说明:如果三个实例以集群模式正常启动,那么分别访问三个实例的管理页就是展示以上登录页了。如果不能访问,则可能防火墙未开放 nacos 服务的端口,可执行如下命令。
[root@localhostbin]#firewall-cmd–add-port=8848/tcp–permanent success [root@localhostbin]#firewall-cmd–reload success [root@localhostbin]#firewall-cmd–list-all public(active) target:default icmp-block-inversion:no interfaces:ens33 sources: services:sshdhcpv6-client ports:27017/tcp8848/tcp protocols: masquerade:no forward-ports: source-ports: icmp-blocks: richrules: [root@localhostbin]#Nginx 配置
Nginx 安装参考,Nginx 源码安装[4] 修改 Nginx 配置文件 nginx.conf worker_processes1; events{ worker_connections1024; } http{ includemime.types; default_typeapplication/octet-stream; sendfileon; keepalive_timeout65; #nacos集群负载均衡 upstreamnacos-cluster{ server192.168.15.145:8848; server192.168.15.147:8848; server192.168.15.148:8848; } server{ listen80; server_name192.168.15.146; location/{ #roothtml; #indexindex.htmlindex.htm; proxy_passhttp://nacos-cluster; } error_page500502503504/50x.html; location=/50x.html{ roothtml; } } }启动 Nginx
/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx.conf微服务配置
微服务父 pom 配置