搭建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

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

相关推荐
冬奇Lab几秒前
一天一个开源项目(第46篇):Caddy - 自动 HTTPS 的现代化 Web 服务器,支持 HTTP/3
网络协议·nginx·开源
顺风尿一寸2 天前
Nginx源码分析:变量系统的设计与请求生命周期中的日志记录
nginx
爱吃橘子橙子柚子2 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
舒一笑4 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData4 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大5 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair5 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主5 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
十二7405 天前
前端缓存踩坑实录:从版本号管理到自动化构建
前端·javascript·nginx
可观测性用观测云6 天前
云原生网关 Ingress-Nginx 链路追踪实战:OpenTelemetry 采集与观测云集成方案
nginx·kubernetes