项目环境:


Centos7服务器 8 台、 Nginx1.21.4 、 ab 、 NFS4 、 Zabbix 、 Keepalived 2.1.5 、 Ansible


项目描述:



模拟企业中的实际环境,构建一个基于 Nginx 的 4/7 层负载均衡的 web 集群项目,达到高并


发,高可用的效果。最后通过压力测试来检验整个

web 集群的性能。

搭建nginx高可用集群 nginx搭建web集群_运维



项目步骤:



1. 安装部署 Ansible 服务,建立与其他的服务器之间的免密通道,编写 Playbook 去安装、部



署多台服务器的 Nginx 、 Zabbix 。



2. 通过 Ansible 部署好 Nginx 和 Zabbix ,然后配置 Nginx 长连接,并发数,和 worker 的进程



数限制速度以及 Zabbix 的相关配置等。



3.使用 2 台服务器做成负载均衡器是使 ,用 Nginx 的 4/7 层负载均衡功能实现的,调度算法使用加权轮询。



搭建nginx高可用集群 nginx搭建web集群_运维_02



 



4. 使用 Keepalived 给负载均衡器做高可用,并配置为互为主备的双vip,防止单点故障,提升资源利用率。



搭建nginx高可用集群 nginx搭建web集群_服务器_03



 



5.搭建 NFS 服务器,保障网站的数据一致性。(参考下面大佬的文章)



Linux下NFS配置及远程挂载 - 七彩乌云 - 博客园 (cnblogs.com) 



6. 在客户机上使用 ab 软件进行压力测试。



7. 搭建一个 DNS 服务器,给整个 web 集群进行城名解析,通过 DNS 域名解析负载均衡将 2



个 vip 绑定到一个域名给用户访问使用,从而将流量导入到不同的负载均衡器上。



8. 在 Zabbix 监控平台上添加相关的服务器和监控项,监控整个 web 集群的性能。



9. 尝试去给整个 web 集群参数调优以提升性能,考虑增加缓存服务等措施。



10. 优化安装软件的步骤:全部使用 Ansible 编写 Playbook 安装所有的软件。




项目心得 :



1. 对于集群的概念有了更深刻的理解,认识到一键部署、安装的方便快捷,会有意识的去尝



试更好的自动化操作,如: Ansible 。



2. 也对 DNS 负载均衡, 4/7 层负载均衡有了一定的了解。以及对高性能、高可用有了更多的



认识,了解到更多的系统性能的指标参数。



3. 在实验过程中,发现并了解了脑裂现象,有了一定的认识以及该如何避免。



4. 经过压力测试,集群的瓶颈有了一个整体的概念,对一些基础功能的软件之间的配合有了



一定的了解,例 : Zabbix , Keepalived ,Ansible , Nginx , NFS , ab , bind 等。



5. 对监控( Zabbix )也有了一点了解,监控是非常基础的运维工作,它可以提前让我们看到



问题,并做好预警。



6. 认识到在企业中系统的优化是非常必要的,在不增加成本的情况下提升性能。也帮助我今



后学习大规模的集群打下坚实的基础,整体规划能力得到提升。