XNginx - nginx 集群可视化管理工具

本文介绍了XNginx,一个用于方便管理Nginx集群的工具,包括集群管理界面、节点管理和日志查看等功能。通过Eureka进行分布式管理,使用RESTful API进行RPC调用,并提供了配置文件的导入和生成。该工具旨在简化Nginx配置的修改和重启流程,确保线上服务稳定。
摘要由CSDN通过智能技术生成

之前团队的nginx管理,都是运维同学每次去修改配置文件,然后重启,非常不方便,一直想找一个可以方便管理nginx集群的工具,翻遍web,未寻到可用之物,于是自己设计开发了一个。

效果预览

如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。

  1. 集群group管理界面

 

XNginx - nginx 集群可视化管理工具

 

 

可以管理group的节点,配置文件,修改后可以一键重启所有节点,且配置文件出错时会提示错误,不会影响线上服务。

2.集群Node节点管理

XNginx - nginx 集群可视化管理工具

 

 

3 .集群Node节点日志查看

XNginx - nginx 集群可视化管理工具

 

 

  1. 生成的配置文件预览

 

XNginx - nginx 集群可视化管理工具

 

 

  1. vhost管理

 

XNginx - nginx 集群可视化管理工具

 

 

设计思路

数据结构:

一个nginxGroup,拥有多个NginxNode,共享同一份配置文件。

分布式架构:Manager节点+agent节点+web管理

每个nginx机器部署一个agent,agent启动后自动注册到manager,通过web可以设置agent所属group,以及管理group的配置文件。

配置文件变更后,manager生成配置文件,分发给存活的agent,检验OK后,控制agent重启nginx。

关键技术点

分布式管理

一般分布式可以借助zookeeper等注册中心来实现,作为java项目,其实使用EurekaServer就可以了:

manager加入eureka依赖:

 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter</artifactId>
 </dependency>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
 </dependency>

然后在入口程序添加 @EnableEurekaServer

agent 添加注册配置:

eureka:
 instance:
 prefer-ip-address: true
 client:
 service-url:
 defaultZone: http
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值