01_项目-基于nginx负载均衡的web集群项目

目录

项目架构图

项目环境:

项目描述:

项目步骤:

        1、准备8台centos7.9服务器,并安装部署ansible服务,服务器之间通过ssh协议生成公私密钥建立免密通道,安装部署nginx与Prometheus

        2、在nginx配置文件中配置长连接、并发数和worker的进程数,限制速度以及其他相关配置,并上传网站内容至/html文件夹中 ​编辑

        3、使用两台服务器做双vip的负载均衡器,互为主备,使用加权轮询的调度算法

        4、部署好三台web服务器,并搭载nfs服务,实现网站数据的一致

        5、使用ab测试软件对客户机进行压力测试

        6、在监控服务器上安装prometheus软件,对其他服务器进行性能监控

项目心得:


项目架构图

项目环境:

        centos7.9服务器8台、nginx1.21、keepalived2.1、prometheus、nfs4、ansible、ab压力软件

项目描述:

        构建一个基于nginx的负载均衡的web集群,旨在提高 Web 应用的访问速度和可用性,模拟企业的业务环境,达到构建一个高可用的web集群。并通过压力测试及监控服务检验整个集群的性能,不断优化。

项目步骤:

        1、准备8台centos7.9服务器,并安装部署ansible服务,服务器之间通过ssh协议生成公私密钥建立免密通道,安装部署nginx与Prometheus

通过 ssh-keygen 命令后,我们即可在 ~/.sshd文件夹中看到生成的公私密钥,其中 id_rsa.pub为公钥,id_rsa为私钥

将公钥复制到需要远程登录服务器的 ~./ssh/authorized_keys 文件中即可

使用yum install epel-release与yum install ansible 命令安装ansible,编写playbook批量部署nginx

 该脚本为一键安装nginx的shell脚本,用脚本提高我们的工作效率

        2、在nginx配置文件中配置长连接、并发数和worker的进程数,限制速度以及其他相关配置,并上传网站内容至/html文件夹中 

 user    xxw                    指定使用xxw这个用户启动nginx中的worker进程

worker_processes    2   启动两个worker进程,这个数据一般与cpu核心数一致

error_log   logs/error.log   notice    记录notice级别以上的日志

worker_connections    1024        一个worker进程允许1024个用户访问          

将客户端的请求转发至所对应的3个backend服务器中,并设置nginx的监听端口为8080端口

        3、使用两台服务器做双vip的负载均衡器,互为主备,使用加权轮询的调度算法

        4、部署好三台web服务器,并搭载nfs服务,实现网站数据的一致

在nfs服务器上创建一个文件夹,用于存储 Web 页面的数据,最好是在根目录下,防止其他服务器没有权限读写,并在web服务器上都安装好nfs,将nfs的页面挂载至nginx的html文件夹下,实现网页数据的一致

exportfs -rv   相当于重启nfs服务,让修改的/etc/exports文件生效

nfs系统必须要开机才能挂载上

        5、使用ab测试软件对客户机进行压力测试

 使用 ab命令对页面进行测试,其中 -c 为同时并发请求数,-n 为总共的请求次数

在我们查看性能指标时,主要查看两个值:Requests per second 表示每秒请求数,Time per request 表示每个请求的平均处理时间

        6、在监控服务器上安装prometheus软件,对其他服务器进行性能监控

 编辑prometheus的配置文件,让prometheus监控web服务器

因为Prometheus的启动与关闭较为复杂,小编索性将其弄成一个服务,在 /etc/systemd/system 目录下创建一个新文件prometheus.service,并将以下内容添加到该文件中:

prometheus可使用service命令进行启动与关闭

打开prometheus所监听的端口即可查看到该图片

我们可以通过下载grafana软件对服务器性能指标参数作图,更好的进行监控

项目心得:

        1、在使用高可用时,发现没有效果,后来得知是因为粗心写错虚拟路由id,出现了脑裂现象,后来将其解决,锻炼了我的细心能力与排错能力

        2、慢慢理解了集群的概念,从一台到多台

        3、学会使用制图工具提前规划好整个集群的架构,对今后学习大规模的集群打下了基础

        4、深知监控在工作中的重要性,可以提前看到问题,做好预警

        5、学会了如何使用负载均衡,提高系统的性能和稳定性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值