haproxy概念和负载均衡

操作环境:三台虚拟机:80.100、80.102、80.103

192.168.80.100:

systemctl stop firewalld   //关闭防火墙
setenforce 0   //关闭监控
yum install lrz* -y  //安装上传软件
tar xf haproxy-1.5.15.tar.gz -C /opt/       //解压压缩包到/opt/需要haproxy软件包
cd /opt/haproxy-1.5.15/     //进入/opt/haproxy-1.5.15/ 
yum install -y \
pcre-devel \
bzip2-devel \
gcc \
gcc-c++ \
make

tar xzvf haproxy-1.5.15.tar.gz  -C  /opt   --解压软件包的 /opt/下
cd /opt/haproxy-1.5.15
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    //查看用户信息
cp /opt/haproxy-1.5.15/examples/haproxy.cfg /etc/haproxy/
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
    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
ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy
service haproxy start
service firewalld stop

在浏览器地址栏输出:192.168.80.100:8089/stats
haproxy概念和负载均衡
192.168.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
haproxy概念和负载均衡

192.168.80.103:
和上面步骤一样
haproxy概念和负载均衡