官方说明

官方文档地址:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
官方架构图:

nacos自带mysql nacos mysql集群_nacos


理解后的架构设计:

请求发送到Nginx服务器,Nginx进行负载均衡,将请求送到Nacos集群上的一个Nacos注册中心,所有的Nacos都连接到MySQL数据库。

nacos自带mysql nacos mysql集群_nginx_02

Nacos集群生产环境的集群配置

1、在服务器上安装Nacos-server、MySQL和Nginx的软件。

此处我采用的是nacos-server-1.1.4.tar.gz,MySQL5.7和Nginx1.16。安装好后MySQL和Nginx都需要进行环境配置,此处就不写了。主要在于学习Nacos的集群配置,具体操作如下。

2、配置mysql数据库

进入目录/usr/nacos/conf下,找到***nacos-mysql.sql*** 文件,用Navicat连接服务器的MySQL库,创建nacos_config数据库,并将上述文件内容导入到naocs_config数据库中。

3、修改application.properties

在conf目录下,找到application.properties文件,先备份为application.properties.bk文件,再打开到文件结尾,添加如下配置。

nacos自带mysql nacos mysql集群_nacos_03


注:db.url.0是数字0不是字母O,一开始我配错了,连接不上数据库。

4、修改cluster.conf

在conf目录下,找到cluster.conf.example,复制文件为cluster.conf,cluster.conf.example为备份,打开进行如下设置。

先通过命令获取本机ip,hostname -i。此处不能写127.0.0.1和localhost。

nacos自带mysql nacos mysql集群_nginx_04


注:此处是伪集群分布,小弟还在学生阶段,买不起服务器,就买了一个阿里云的轻量级的服务器。用不同的端口号来表示不同的nacos注册中心。如果是多机器的话,应该是IP地址不同,端口号可以统一。

5、修改startup.sh,使得可以接受不同端口的使用

进入/usr/nacos/bin目录下,先备份startup.sh为startup.sh.bk文件,打开startup.sh进行如下修改。

(1)找到输入指令的部分,输入“p:",保证打开指令可以设置端口号。

nacos自带mysql nacos mysql集群_nacos_05


(2)此处是一个坑,设置启动JVM参数,原本是2g,2g,1g。可能是因为我的服务器是1核2g,比较低配。在启动3333端口后,4444和5555就无法启动了。将堆栈的参数都变小即可。

nacos自带mysql nacos mysql集群_nginx_06


(3)到结尾处进行如下修改。

nacos自带mysql nacos mysql集群_springcloud_07

6、Nginx的配置修改

到nginx/conf目录下,先做一个nginx.conf的备份,再打开进行配置。



nacos自带mysql nacos mysql集群_nacos自带mysql_08

7、配置已经完成,后面是启动命令

(1)在nacos/bin目录下,输入以下命令。

nacos自带mysql nacos mysql集群_linux_09


同样方式打开4444和5555端口的nacos。

通过 命令ps -ef|grep nacos|grep -v grep|wc -l ,查看输出为3表示3个都启动了。

(2)进入/usr/local/nginx/sbin目录下,通过./nginx命令启动nginx服务,可以通过参数指定conf文件。再通过ps -ef|grep nginx查看是否启动成功。

nacos自带mysql nacos mysql集群_nacos_10

通过上述步骤已经完成nacos集群环境的搭建,接下来我们可以通过配置阿里云服务器开放端口号1111来访问nacos注册中心。

nacos自带mysql nacos mysql集群_linux_11