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

相关推荐
、我是男生。11 分钟前
Linux、Ubuntu、虚拟机三者的关系和角色
linux·运维·ubuntu
우 유24 分钟前
Linux从入门到入门
linux·运维·服务器
皮皮林5511 小时前
负载均衡 LVS vs Nginx 对比!还傻傻分不清?
nginx
love530love1 小时前
Python 开发环境全栈隔离架构:从 Anaconda 到 PyCharm 的四级防护体系
运维·ide·人工智能·windows·python·架构·pycharm
1688red2 小时前
IPv4编址及IPv4路由基础
运维·网络·华为
Sally璐璐2 小时前
CentOS查日志
linux·运维·centos
fo安方2 小时前
运维的利器–监控–zabbix–第二步:建设–部署zabbix agent5.0--客户端是windows&centos系统--实操记录gys
运维·windows·zabbix
刘俊辉个人博客2 小时前
端口安全配置示例
运维·网络·数据库·计算机网络·安全·网络安全
猪猪b。2 小时前
dhcp 配置IP实战演练!!!!!
运维·服务器·网络
“αβ”3 小时前
Linux-多线程安全
linux·运维·服务器·ssh·github·线程·进程