haproxy搭建nginx网站访问

文章目录

一.案例概述

**proxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,

如LVS和Nginx。相比较而言,LVS性能最好,但是搭建相对复杂;Nginx的

upstream模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能

没有Haproxy好。Haproxy官方网站是http://www.haproxy.org/。

2.1 HTTP请求

通过URL访问网站使用的协议是HTTP协议,此类请求一般称为HTTP/请
求。HTTP请求的方式分为GET方式和POST方式。当使用浏览器访问某一个
URL,会根据请求URL返回状态码,通常正常的状态码为2XX、3XX(如200、
301),如果出现异常会返回4XX、5XX(如400、500)。

2.2 负载均衡常用调度算法

调度算法有三种

①RR(Round robin)

RR算法是最简单最常用的一种算法,即轮询调度。

例如,有三个节点A、B、C,第一个用户访问会被指派到节点A,第二个用户访

问会被指派到节点B,第三个用户访问会被指派到节点C,第四个用户访问继续

指派到节点A,轮询分配访问请求实现负载均衡效果。此算法还有一种加权轮询,

即根据每个节点的权重轮询分配访问请求。

②LC(least connections)

LC算法即最小连接数算法,根据后端的节点
连接数大
小动态分配前端请求。例如,有三个节点A、B、C,各节点的连接数分别为A:
4、B:5、C:
6,此时如果有第一个用户连接请求,会被指派到A上,连接数变为A:5、B:
5、C:6;第二个用户请求会继续分配到A上,连接数变为A:6、B:5、C:6;
再有新的请求会分配给B,每次将新的请求指派给连接数最小的客户端。由于实
际情况下A、B、C的连接数会动态释放,很难会出现一样连接数的情况,因此
此算法相比较rr算法有很大改进,是目前用到比较多的一种算法。

③SH(source hashing)

SH即基于来源访问调度算法,此算法用于一些有
Session会话记录在服务器端的场景,可以基于来源的IP、Cookie等做群集调
度。例如,使用基于源IP的群集调度算法,有三个节点A、B、C,第一个用户
第一次访问被指派到了A,第二个用户第一次访问被指派到了B,当第一个用户
第二次访问时会被继续指派到A,第二个用户第二次访问时依旧会被指派到B,
只要负载均衡调度器不重启,第一个用户访问都会被指派到A,第二个用户访问
都会被指派到B,实现群集的调度。此调度算法好处是实现会话保持,但某些IP
访问量非常大时会引起负载不均衡,部分节点访问量超大,影响业务使用。

2.3 常见的web群集调度器

目前,常见的Web群集调度器分为软件和硬件。软件通常使用开源的LyS、
Haproxy、Nginx,硬件一般使用比较多的是F5。也有很多人使用国内的一些产
品,如梭子鱼、绿盟等

3.实验环境

haproxy是192.168.10.101
web1网站:192.168.10.102
web2网站:192.168.10.103

实验前关闭防火墙与selinux机制或者添加防火墙策略

二.实验步骤

1.两台web网站步骤相同 安装web服务(nginx,apache)

①安装web网站

②在网页目录创建网站

2.haproxy服务器配置

①安装haproxy

②修改配置文件

Haproxy配置项介绍:
Haproxy配置文件通常分为三个部分,即global、defaults和listen。
global为全局配置,defaults为默认配置,listen为应用组件配置。


这是全局项

log #配置日志文件记录,local2为日志设备,默认存放到系统日志

maxconn #最大连接数

user #程序用户

group #程序组

defaults配置项配置默认参数,一般会被应用组件继承,如果在应用组件
中没有特别声明,将按照默认配置参数设置。


listen配置项是配置应用模块参数

listen webcluster
//定义一个appli4-backup的应用
bind 0.0.0.0:80
//监听所有网卡的80端口
option httpchk GET /index. html
//通过GET/index.html检查服务器
建康状态
balanceroundrobin//负载均衡调度算法使用轮询算法
serverinst1 192.168.10.101:80checkinter2000fall3 //后端服务
器1,每2秒检查一次,3次失败后下线
server inst2 192.168.10.102:80 check inter 2000 fall 3

3.测试web集群

通过代理服务器调度到后端服务器
通过上面的步骤,已经搭建完成Haproxy的Web群集,接下来需要验证群
集是否工作正常。一个群集一般需要具备两个特性,第一个是高性能,第二个是
高可用


查询http日志文件查看是否是代理服务器访问网站

4.haproxy日志文件

Haproxy的日志默认输出到系统的syslog中,查看起来不是非常方便,为
了更好地管理Haproxy的日志,在生产环境中一般单独定义出来

①修改haproxy配置文件 将原有日志配置修改

②配置rsyslog服务

创建rsyslog的haproxy日志文件规则

查看日志文件是否生成查看客户端真实IP

相关推荐
ulias2126 小时前
Linux系统中的权限问题
linux·运维·服务器
青花瓷7 小时前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
问简8 小时前
docker 镜像相关
运维·docker·容器
Dream of maid8 小时前
Linux(下)
linux·运维·服务器
齐鲁大虾9 小时前
统信系统UOS常用命令集
linux·运维·服务器
Benszen9 小时前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…9 小时前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0
一叶知秋yyds10 小时前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
斯普信云原生组11 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
safestar201212 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins