haproxy介绍,安装及配置(代码片段)

author author     2022-12-19     426

关键词:

1,HaProxy简介
HAProxy 是一款可靠的,提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

2,安装配置HaProxy
以下实验环境均为CentOS7.3 x86_64平台
技术分享图片
因为我已经安装过了,下面我主要讲解下配置文件的内容,HaProxy的配置文件如下,
vim /etc/haproxy/haproxy.cfg
技术分享图片
HaProxy的配置文件主要分为二个大的部分五个段
配置文件格式:
HAProxy的配置处理3类来主要参数来源:
——最优先处理的命令行参数;
——global配置段,用于设定全局配置参数;
——proxy相关配置段,如defaults、listen、frontend和backend;
全局配置
global

# 设置日志文件输出定向
log 127.0.0.1 local3 info

# 改变当前工作目录
chroot /usr/local/haproxy

# 用户与用户组
user haproxy
group haproxy

# 守护进程启动,运维方式为后台工作
daemon

# 最大连接数
maxconn 4000

#作用于其后紧跟的listen块,直至下一个defaults 块,下一个default 将替换上一个块作用于以后的listen
defaults

# 启用每个实例日志记录事件和流量。
log global

# 默认的模式mode  tcp|http|health ,tcp是4层,http是7层,health只会返回OK
mode http

# maxconn 65535         maxconn 每个进程可用的最大连接数
# retries 3         当对server的connection失败后,重试的次数  
# option abortonclose     启用或禁用在队列中挂起的中止请求的早期丢弃 
# option redispatch     启用或禁用在连接故障情况下的会话重新分配 
# option dontlognull     启用和禁用 记录 空连接
# option httpclose         每次请求完毕后主动关闭http通道,HA-Proxy不支持keep-alive模式 
# option forwardfor     获得客户端IP 
# option httplog        记录HTTP 请求,session 状态和计时器 
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000

代理相关配置
#前端配置,http_front名称可自定义
frontend http_front

# bind *:443 ssl crt /etc/haproxy/cert.pem        启用ssl证书 
# bind *:80                        发起http请求道80端口,会被转发到设置的ip及端口
bind *:80

#haproxy的状态管理页面,通过/haproxy?stats来访问
stats uri /haproxy?stats
default_backend http_back

#后端配置,http_back名称可自定义
backend http_back

# 负载均衡方式
# source 根据请求源IP
# static-rr 根据权重
# leastconn 最少连接者先处理
# uri 根据请求的uri
# url_param 根据请求的url参数
# rdp-cookie 据据cookie(name)来锁定并哈希每一次请求
# hdr(name) 根据HTTP请求头来锁定每一次HTTP请求
# roundrobin 轮询方式
balance roundrobin

#设置健康检查页面
option httpchk GET /index.html

#传递客户端真实IP
option forwardfor header X-Forwarded-For

# inter 2000 健康检查时间间隔2秒
# rise 3 检测多少次才认为是正常的
# fall 3 失败多少次才认为是不可用的
# weight 30 权重
# 需要转发的ip及端口
server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30
server node2 192.168.179.131:8082 check inter 2000 rise 3 fall 3 weight 30
##############################################################
# haproxy的acl规则
frontend http_front
bind *:80
stats uri /haproxy?stats

#创建一个acl,is_http_back2是acl的名称,可自定义,用于判断主机名是否为www.back2.com
acl is_http_back2 hdr_end(host) www.back2.com

#通过正则判断主机名中是否为bbs.back.com或forum.back.com
acl is_host_bbs hdr_reg(host) -i ^(bbs.back.com|forum.back.com)

#判断ua是否为android
acl is_ua_android hdr_reg(User-Agent) -i android

#判断主机名开头是否为img.或css.或js.
acl is_host_static hdr_beg(host) -i img. css. js.

#判断url路径中是否有/bbs
acl is_path_bbs path_beg -i /bbs

#判断url文件结尾
acl is_php path_end -i .php

#通过正则判断url中结尾以
acl is_static_file url_reg -i /*.(css|jpg|png|jpeg|gif)$

#效果同上
acl is_static_file2 path_end -i .css .jpg .png .jpeg .gif

#如果主机名是www.back2.com那么就使用后端http_back2
use_backend http_back2ifis_http_back2

#默认使用的后端
default_backend http_back

backend http_back
balance roundrobin
option httpchk GET /index.html
option forwardfor header X-Forwarded-For
server node1 192.168.1.222:8080 check inter 2000 rise 3 fall 3 weight 30

backend http_back2
balance roundrobin
option httpchk GET /index.html
option forwardfor header X-Forwarded-For
server node2 192.168.1.222:8082 check inter 2000 rise 3 fall 3 weight 30

#最后可以通过访问配置HaProxy的管理页面看到你配置的前端和后端的详细情况
技术分享图片

002.haproxy安装及常见配置(代码片段)

一HAProxy安装官方链接:http://www.haproxy.org/(国内可能无法打开)下载连接:http://pkgs.fedoraproject.org/repo/pkgs/haproxy/1[[email protected]~]#yum-yinstallgccgcc-c++makeopenssl-develwgetopenssh-clients #安装编译工具2[[email protected]~]#serviceiptablesstop... 查看详情

haproxy简介及常用配置文件详解(代码片段)

HaproxyHAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的... 查看详情

haproxy介绍及基本配置

一简介:1haproxy介绍HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAP... 查看详情

haproxy基本配置调度算法与tcphttpheath模式配置示例(代码片段)

一、HAProxy安装1.HAProxy简单介绍HAProxy虽然名字前有HA,但它并不是一款高可用软件,而是一款用于实现负载均衡的软件,可实现四层与七层的负载均衡。2.yum安装HAProxyHAProxy已经包含在yum的base中,版本为1.15,可以直接yum安装~]#yumin... 查看详情

51-高性能负载均衡应用haproxy-安装及配置案例

负载均衡类型四层:LVS:LinuxVirtualServerNginx:1.9版之后HAProxy:HighAvailabilityProxy七层:HAProxyNginx应用场景四层:Redis、Mysql、RabbitMQ、Memcached等七层:Nginx、Tomcat、Apache、PHP、图片、动静分离、API等HAProxy介绍:HAProxy是法国开发者威... 查看详情

ansible的安装配置及常用模块介绍(代码片段)

Ansible的安装、配置及常用模块介绍 ansible安装方式1、ansible安装常用两种方式,yum安装和pip程序安装这里提供二种安装方式,任选一种即可:1、使用yum安装yuminstallepel-release-yyuminstallansible–y2、使用pip(python的包管理模块)安... 查看详情

web群集搭建——haproxy(理论+搭建实操+配置文件详解及优化方案)(代码片段)

Haproxy一、Haproxy概述与调度算法原理1.1Haproxy概述1.2Haproxy调度算法1.3常见的Web集群调度器二、Haproxy应用分析与主要优点以及四层与七层负载均衡区别2.1应用分析2.2Haproxy高性能负载均衡主要优点2.3四层与七层负载均衡区别三、Haprox... 查看详情

haproxy安装配置及说明

一、haproxy说明二、haproxy连接模式说明三、haproxy调度方法说明四、hash-type说明五、架构说明六、基本安装及配置说明(roundrobin调度)七、URI调度测试八、HDR调度测试九、基于cookie的session绑定测试十、状态页面测试(参数说明来自... 查看详情

002.ansible部署及配置介绍(代码片段)

一Ansible的安装部署1.1PIP方式安装PIP略,可参考《001.Pip简介及使用》。提示:建议将PIP升级到最新:pipinstall--upgradepip。安装依赖1[[email protected]~]#yum-yinstallgccglibc-develzlib-develrpm-buildopenssl-devel安装Ansible1[[email prot 查看详情

php介绍及安装(代码片段)

PHP介绍机安装PHP介绍PHP与Apache、Nginx的交互LAMP架构LNMP架构LAMP和LNMP在使用和配置PHP的区别PHP源码安装第一步:上传源码包解压,并安装依赖第二步:编译参数配置+编译安装第三步:让PHP配置文件生效第四步ÿ... 查看详情

rhel7配置haproxy实现web负载均衡(代码片段)

导读本文将简单介绍使用HAProxy实现web负载均衡,主要内容包括基于权重的轮询、为HAProxy配置https、配置http重定向为https、配置HAProxy使用独立日志。一、测试环境HAProxy:主机名:RH7-HAProxyIP地址:192.168.10.20操作系统:RedHatEnterprise... 查看详情

haproxy安装配置(代码片段)

概念HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前... 查看详情

haproxy安装配置和图灵配置(代码片段)

   HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。   HAProxy特别适用于那些负载特大的web站点࿰... 查看详情

ansible安装及基础模块介绍(代码片段)

ansible介绍Ansible基于Python开发,集合了众多优秀运维工具的优点,实现了批量运行命令部署程序、配置系统等功能。默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单... 查看详情

centps7源码编译安装haproxy(代码片段)

Centos7源码编译安装haproxy操作环境:一台haproxy主机地址为:192.168.80.100两台web服务器地址分别为:192.168.80.102192.168.80.103192.168.80.100:安装haproxy:源码编译安装haproxy,需要软件包。yuminstall-ypcre-develbzip2-develgccgcc-c++maketarxzvfhaproxy-1.5.15.tar.gz... 查看详情

haproxy反向代理功能配置(代码片段)

使用场景假如要实现这样的环境:haproxy反向代理4个nginx节点,nginx1和nginx2结合php提供动态web服务,nginx3和nginx4提供静态web服务。如下图:由于默认配置文件中和超时时间相关的设置比较不合理,所以建议修改这些时间。另外还... 查看详情

haproxy笔记(代码片段)

haproxy安装、启动、日志配置方法1:#安装yuminstallhaproxy-y#日志配置sed-i‘s/^#$ModLoadimudp/$ModLoadimudp/g‘/etc/rsyslog.confsed-i‘s/^#$UDPServerRun514/$UDPServerRun514/g‘/etc/rsyslog.confecho‘local0.*/var/log/haproxy.lo 查看详情

haproxy+keepalived安装配置(代码片段)

1环境准备1.1主机规划服务器说明IP地址主机名称规则安装服务haproxy主机110.0.0.41haproxy01Haproxy、Nginx、keepalivedhaproxy主机210.0.0.42haproxy01Haproxy、Nginx、keepalived10.0.0.43虚拟IP地址VIP1.2hosts解析文件10.0.0.41dns0110.0.0.42dns021.3操作系统版本Cent... 查看详情