HAproxy实验笔记

132908704.jpg

1.HTML-A & HTML-B

[root@localhost ~]# yum install httpd -->分别创建测试页面index.html,开启服务


2.PHP-A & php-B

[root@localhost ~]# yum install httpd php -->分别创建测试页面 index.php ,开启服务


3.安装HAproxy

[root@localhost ~]# tar xf haproxy-1.4.20.tar.gz

[root@localhost ~]# cd haproxy-1.4.20

[root@localhost haproxy-1.4.20]# make TARGET=linux26 PREFIX=/usr/local/haproxy install


4.生成HAproxy配置文件

[root@localhost haproxy-1.4.20]# cd /usr/local/haproxy/

[root@localhost haproxy]# mkdir conf logs

[root@localhost haproxy]# cd conf/

[root@localhost conf]# vim haproxy.cfg

global

   log 127.0.0.1 local3 info -->日志服务器

   maxconn 4096 -->单个进程的最大并发连接数

   uid nobody -->用户身份

   gid nobody -->组身份

   daemon -->守护进程方式后台运行

   nbproc 1 -->工作进程数量

defaults

   log global

   mode http -->工作模式 http ,tcp 是 4 层,http是 7 层

   maxconn 2048 -->最大连接数

   retries 3 -->3次连接失败就认为服务器不可用

   optionredispatch -->如果 cookie 写入了 serverId 而客户端不会刷新 cookie,当serverId 对应的服务器挂掉后,强制定向到其他健康的服务器

   statsuri /haproxy -->使用浏览器访问http://192.168.122.254/haproxy,可以看到服务器状态

   contimeout 5000

   clitimeout 50000

   srvtimeout 50000

frontend http-in

   bind 0.0.0.0:80

   mode http

   log global

   option httplog

   option httpclose -->打开支持主动关闭功能

    acl php url_reg -i \.php$ -->acl <ACL名字> <类型> <大小写> <规则>

    acl html url_reg -i \.html$

    use_backend php-server if php -->use_backend <服务器组> if <ACL名字>

    use_backend html-server if html

    default_backend html-server -->默认使用的服务器组

backend php-server

   mode http

   balance roundrobin -->负载均衡的方式

   option httpchk GET /index.php -->健康检查

   cookie SERVERID insert indirect nocache -->客户端的 cookie 信息

   server php-A 192.168.122.30:80 weight 1 cookie 1 check inter 2000 rise 2 fall 5

   server php-B 192.168.122.40:80 weight 1 cookie 2 check inter 2000 rise 2 fall 5

   -->cookie 1 标识 serverid 为 1

   -->check inter 2000 检测心跳频率

   -->rise 2 2 次正确认为服务器可用

   -->fall 5 5 次失败认为服务器不可用

backend html-server

   mode http

   balance roundrobin

   option httpchk GET /index.html

   cookie SERVERID insert indirect nocache

   server html-A 192.168.122.10:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5

   server html-B 192.168.122.20:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5


5.启动HAproxy

[root@localhost conf]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg


6.查看HAproxy状态

[root@localhost conf]# firefox http://localhost/haproxy


7.在客户端访问 HAproxy 测试

[root@localhost ~]# elinks –dump http:// 192.168.122.254

[root@localhost ~]# elinks –dump http:// 192.168.122.254/index.html

[root@localhost ~]# elinks –dump http:// 192.168.122.254/index.php


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章