网址站,天津关键词优化平台,青岛网站建设咨询,wordpress注册密码忘记HAProxy是一种高效、可靠、免费的高可用及负载均衡解决方案#xff0c;非常适合于高负载站点的七层数据请求。客户端通过HAProxy代理服务器获得站点页面#xff0c;而代理服务器收到客户请求后根据负载均衡的规则将请求数据转发给后端真实服务器。 同一客户端访问服务器…HAProxy是一种高效、可靠、免费的高可用及负载均衡解决方案非常适合于高负载站点的七层数据请求。客户端通过HAProxy代理服务器获得站点页面而代理服务器收到客户请求后根据负载均衡的规则将请求数据转发给后端真实服务器。 同一客户端访问服务器HAProxy保持回话的三种方案  HAProxy将客户端ip进行Hash计算并保存由此确保相同IP访问时被转发到同一真实服务器上。  HAProxy依靠真实服务器发送给客户端的cookie信息进行回话保持。  HAProxy保存真实服务器的session及服务器标识实现会话保持功能。   HAProxy拓扑结构图     二  配置文件解析    HAProxy安装后默认没有配置文件需要手动创建/etc/haproxy.cfg。启动HAProxy时用-f指定配置文件路径。haproxy的配置文件包含全局设置段与代理段global是全局段defaults、listen、frontend、backend为代理段。frontend用来匹配客户端请求的域名或者URLbackend定义后端服务器集群。 HAProxy配置文件参数详细解析    三  Haproxy实例部署    本例使用listen定义一个监控端口 使用frontend定义一个前端80端口 通过backend定义名为inside_servers 和 external_servers的服务器组 使用default_backend定义默认服务器组external_servers; external_servers包括web1.test.com和web2.test.com 两台服务器 inside_servers包含web3.test.com 一台服务器  1首先配置web服务器 在web1、web2、web3上安装httpd并配置网卡 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICEeth0 BOOTPROTOstatic IPADDR192.168.1.3 NETMASK255.255.255.0 GATEWAY192.168.1.2 ONBOOTyes TYPEEthernet service network restart yum install -y httpd iptables -F iptables -X service iptables save setenforce 0 sed -i s/enforcing/disabled/g /etc/sysconfig/selinux echo web1  192.168.1.3  /var/www/html/index.html service httpd restart chkconfig httpd on   web2、web3机器上执行与web1相同步骤注意修改部分参数 2接着haproxy服务器配置 设置两块网卡 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICEeth0 BOOTPROTOstatic IPADDR10.10.10.10 NETMASK255.0.0.0 ONBOOTyes TYPEEthernet vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICEeth1 BOOTPROTOstatic IPADDR192.168.1.2 NETMASK255.255.255.0 GATEWAY192.168.1.1 ONBOOTyes TYPEEthernet service network restart service iptables stop   内核调优修改系统文件 vim /etc/security/limits.conf *    soft    nofile        65535  *    hard    nofile        65535 配置日志文件,添加三行 vim /etc/rsyslog.conf $ModLoad    imudp $UDPServerRun    514 local3.*   /var/log/haproxy.log yum -y install gcc wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.11.tar.gz tar zxf haproxy-1.6.11.tar.gz -C /usr/src/ cd /usr/src/haproxy-1.6.11/ make TARGETlinux2628 make install mkdir /var/haproxy 3创建配置文件 vim /etc/haproxy.cfg global maxconn    4096 log    127.0.0.1    local3    info chroot    /var/haproxy uid    99 gid    99 daemon nbproc    1 pidfile    /var/run/haproxy.pid ulimit-n    65535 stats    socket    /var/tmp/stats defaults log    global mode    http maxconn    20480 option    httplog option    httpclose option    dontlognull option    forwardfor option    redispatch option    abortonclose stats    refresh    30 retries    3 balance    roundrobin cookie    SRV timeout    check    2000ms timeout    connect    5000ms timeout    server    50000ms timeout    client    50000ms listen    admin_status                                        #定义haproxy的监控界面 bind    0.0.0.0:6553 mode    http log    127.0.0.1    local3 info stats    enable stats    refresh    5s                                            #监控页面自动刷新时间5s stats    realm    Haproxy\    Statistics                #登录监控页面提示符 stats    uri    /admin?stats                                  #监控页面URL路径 stats    auth    admin:123456                             #监控页面的账户密码 stats    hide-version                                           #隐藏haproxy版本 frontend    web_service                                     #定义前端服务器 bind    0.0.0.0:80 mode    http log    global option    httplog option    httpclose option    forwardfor #acl    inside_src src 192.168.1.0/24                    #定义acl #use_backend    inside_servers if inside_src        #判断acl的源地址把请求转发到inside_servers组 default_backend    external_servers                     #默认服务器组 backend    external_servers mode    http balance    roundrobin                                            #轮询真实服务器 option    httpchk    GET    /index.html                #检查index文件判断服务器是否健康 ##定义后端真实服务器向cookie中插入web1信息check进行健康检查检查时间间隔为2000ms##连续两次健康则认为是正常开启的连续三次检查失败则认为宕机服务器权重1 server web1 192.168.1.3:80 cookie web1 check inter 2000 rise 2 fall 3 weight 1 server web2 192.168.1.4:80 cookie web2 check inter 2000 rise 2 fall 3 weight 1 #backend    inside_servers #mode    http #balance    roundrobin                                         #轮询真实服务器 #option    httpchk    GET    /index.html                #检查index文件判断服务器是否健康 #server web3 192.168.1.5:80 cookie web3 check inter 2000 rise 2 fall 3 weight 1   4启动haproxy服务 service rsyslog restart                #重启系统日志服务 haproxy -f /etc/haproxy.cfg        #启动haproxy服务 echo /usr/local/sbin/haproxy -f /etc/haproxy.cfg  /etc/rc.local 5测试验证 浏览器访问监控页面 在一个ip为10.10.10.100的机器上访问http://10.10.10.10:6553/adminstats 多次刷新访问将得到web1和web2 不同页面信息 如果配置文件中开启使用inside_servers,则在192.168.1.0/24网段机器上访问http://192.168.1.2服务器返回的会一直是web3的页面信息。转载于:https://www.cnblogs.com/nongchaoer/p/6410944.html