搭建nacos集群,并通过nginx实现负载均衡

nacos、eureka、consul、zookeeper等都是常用的微服务注册中心,这篇文章详细介绍一下在Ubuntu操作系统上搭建一个nacos的集群,以及通过nginx的反向代理功能实现nacos的负载均衡。

目录

一、安装nacos

1、安装nacos

2、修改nacos配置文件

3、创建nacos的数据源

二、搭建nacos集群

1、修改nacos的集群配置文件

2、创建nacos集群节点

3、安装nginx服务器

4、通过nginx的反向代理功能实现nacos的负载均衡


在此之前,需要一台安装了Ubuntu系统的服务器或者虚拟机。

一、安装nacos

1、安装nacos

把下载下来的nacos压缩包上传到Ubuntu的一个目录下,这篇文章选择在/usr/local下创建一个nacos目录来保存安装的多个nacos服务器。

上传压缩包后解压:

bash 复制代码
tar -zxvf nacos-server-1.4.2.tar.gz

2、修改nacos配置文件

上面已经完成了nacos的安装,接下来修改一下nacos的配置文件,由于nacos默认把数据保存到derby数据库(这是一个内存数据库),为了保证数据的一致性,需要修改一下,把配置信息保存到mysql。

修改nacos安装目录下的conf/application.properties配置文件

修改nacos数据源配置,也就是红框内的配置

修改之后的配置内容(先取消注释,删除前面的# ,然后修改配置)

3、创建nacos的数据源

第二步已经修改了nacos的数据源配置,接下来需要在服务器的mysql数据库上创建一个nacos数据库

然后,在nacos数据库上执行下面的nacos-mysql.sql

执行完成后,数据库下面有以下几张表:

二、搭建nacos集群

1、修改nacos的集群配置文件

首先,复制一份cluster.conf.example并命名为cluster.conf

修改配置文件的内容,把所有nacos服务器的地址都编辑上去。

bash 复制代码
192.168.60.128:8858
192.168.60.128:8868
192.168.60.128:8878

2、创建nacos集群节点

把nacos的目录名修改为nacos8858,作为集群的一个节点。

重复之前的解压操作,然后重命名。

创建节点2

创建节点3

然后把nacos8858的conf/application.properties以及cluster.conf复制一份,覆盖掉nacos8868和nacos8878两个节点原来的配置文件。

最后一步:修改三个节点的端口号,修改conf/application.properties

最后,依次启动三个节点(注意:这里其实只需要启动任意节点即可,其余节点会一起启动)

启动节点1

访问一下三个节点(用户名/密码初始都是nacos)

访问节点1

在节点1创建一个命名空间test

访问节点2

访问节点3,在集群管理中可以看到三个节点都在线

至此,nacos集群搭建完成~

3、安装nginx服务器

可以参考博主的另外一篇文章完成nginx的安装:

ubuntu上安装nginxhttps://blog.csdn.net/heyl163_/article/details/132549969

4、通过nginx的反向代理功能实现nacos的负载均衡

修改niginx的配置文件nginx.conf

bash 复制代码
upstream nacosserver {
    server 192.168.60.128:8858;
    server 192.168.60.128:8868;
    server 192.168.60.128:8878;
}

server {
    listen       8848;
    server_name  localhost;
    
    location /nacos/ {
      proxy_pass http://nacosserver/nacos/;
    }
}

通过nginx访问nacos

好了,文章就分享到这里了~

相关推荐
一梦浮华38 分钟前
自学嵌入式 day30 IPC:进程间通信
linux·运维·服务器
精英的英1 小时前
在Ubuntu 24.04主机上创建Ubuntu 14.04编译环境的完整指南
linux·运维·ubuntu
求索小沈1 小时前
ubuntu22.04安装anaconda
linux·运维·服务器
斯普信专业组1 小时前
K8s环境下基于Nginx WebDAV与TLS/SSL的文件上传下载部署指南
nginx·kubernetes·ssl
JAVA拾贝1 小时前
Prometheus+Grafana运维监控并实现钉钉告警
运维·钉钉·grafana·prometheus·运维监控
数通Dinner2 小时前
异步Websocket构建聊天室
运维·网络·websocket·网络协议·信息与通信
云动雨颤2 小时前
Python 自动化办公神器|一键转换所有文档为 PDF
运维·python
Fanmeang2 小时前
OSPF高级特性之FRR
运维·网络·华为·ip·ospf·spf·frr
小张不嚣张꒰ঌ(˚ᆺ˚)໒꒱2 小时前
Centos7在yum当中遇到Could not resolve host: mirrorlist.centos.org解决方案
linux·运维·服务器·centos
Sca_杰2 小时前
centos指令
linux·运维·centos