haproxy概念和负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了haproxy概念和负载均衡相关的知识,希望对你有一定的参考价值。

在80.100虚拟机上

systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install lrz* -y //安装上传软件
tar xf haproxy-1.5.15.tar.gz -C /opt/ //解压压缩包到/opt/
cd /opt/haproxy-1.5.15/ //进入/opt/haproxy-1.5.15/
yum install -y
pcre-devel
bzip2-devel
gcc
gcc-c++
make
uname -r
技术分享图片
make TARGET=linux26 PREFIX=/usr/local/haproxy //标识64为系统
make install PREFIX=/usr/local/haproxy
mkdir /etc/haproxy //创建目录
useradd -s /sbin/nologin -M haproxy //创建用户
id haproxy //查看用户信息
技术分享图片
cd examples/ //进入examples/
cp haproxy.cfg /etc/haproxy/ //拷贝到/etc/haproxy/
cd /etc/haproxy/ //进入cd /etc/haproxy/
vi haproxy.cfg //进入vi haproxy.cfg文件
把里面全删了添加

#this config needs haproxy-1.1.28 or haproxy-1.2.1

global
    log 127.0.0.1   local0 
    log 127.0.0.1   local1 notice
    #log loghost    local0 info      //定义haproxy 日志级别
    maxconn 4096   //可以接收的最大并发连接数
#chroot /usr/share/haproxy   //工作目录
    uid 1001   //运行的程序用户 
    gid 1001    //运行的程序用户组
    daemon    //创建1个进程进入deamon模式运行,以后台形式运行harpoxy
    #debug
     #quiet

defaults
    log     global   //定义日志,采用全局定义
    mode    http       //所处理的类别,tcp是四层,http是七层,health只会返回OK,若是混合模式则mode不需要设置
    option  httplog     //每次请求完毕后主动关闭http通道
    option  dontlognull    //不记录健康检查的日志信息
    retries 3
    redispatch
    maxconn 2000
    contimeout      5000
    clitimeout      50000
    srvtimeout      50000

listen admin_stats     //为haproxy访问状态监控页面配置,取名为admin_stats
bind 0.0.0.0:8089      //监听端口
stats enable         //启用监听端口
mode http   //http的7层模式
log global   // 继承global中log的定义
stats uri  /stats   //监控页面的url访问路径,即http://ip/stats访问监控页面
stats realm Haproxy Statistics    //监控页面的密码框提示信息
stats auth  admin:admin    //监控页面的用户和密码admin,可以设置多个用户名
     #stats hide-version   //隐藏统计页面上HAProxy的版本信息
    stats admin if TRUE    //当通过认证才可管理
stats refresh 30s    //页面自动刷新时间30s
    :wq     //保存退出

cd -
cp haproxy.init /etc/init.d/haproxy //拷贝到/etc/init.d/haproxy
ll /etc/init.d/haproxy //查看这个文件有哪些权限
chmod +x /etc/init.d/haproxy //给这个文件x权限
ll /etc/init.d/haproxy //查看这个文件有哪些权限
技术分享图片
chkconfig --add haproxy
在百度上192.168.80.100:8089/stats
技术分享图片
vi /etc/haproxy/haproxy.cfg
#最后一行添加
listen webcluster //定义webcluster服务器组。
bind 0.0.0.0:80 //定义haproxy前端部分监听的端口。
mode http //http的7层模式
option httpchk GET /index.html //心跳检测
log global //继承global中log的定义
maxconn 3000 //server进程可接受的最大并发连接数
balance roundrobin //负载均衡的方式:轮询
server web01 192.168.80.102:80 check inter 2000 fall 5
server web02 192.168.80.103:80 check inter 2000 fall 5
//
后端服务器 web1 和 web2 ,IP 地址分别为 192.168.80.102 和 192.168.80.103
check:对当前server做健康状态检测
技术分享图片
在百度上192.168.80.100:8089/stats
技术分享图片


在80.102虚拟机上

systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y //安装httpd服务
vi /etc/httpd/conf/httpd.conf //进入这个配置文件
找到ServerName www.example.com:80把#去掉
:wq //保存退出
cd /var/www/html/ //进入这个目录
echo "<h1>server aa</h1>" > index.html //在当前目录中创建index.html在里面添加server aa
systemctl start httpd //重启服务
上百度192.168.80.102
技术分享图片


在80.103虚拟机上

systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y //安装httpd服务
vi /etc/httpd/conf/httpd.conf //进入这个配置文件
找到ServerName www.example.com:80把#去掉
:wq //保存退出
cd /var/www/html/ //进入这个目录
echo "<h1>server bb</h1>" > index.html //在当前目录中创建index.html在里面添加server bb
systemctl start httpd //重启服务
上百度192.168.80.103
技术分享图片

以上是关于haproxy概念和负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

HAProxy原理和基本概念(基础)

haproxy+keepalived实现高可用负载均衡web集群

Haproxy负载均衡部署(高可用,高负载)!

Haproxy负载均衡部署(高可用,高负载)!

haproxy+keepalived实现负载均衡及高可用

HAProxy负载均衡策略