HAProxy负载均衡web服务

说明: 准备三台主机,前端和node一、node2。前端地址为202.207.178.6,node1:202.207.178.7,202.207.178.8。前端安装HAProxy作反向代理,后端安装httpd提供web服务。(为避免影响,先关闭防火墙)
前端

一、根据需求在两台后端主机上作相应配置,而且提供访问测试页node

二、在前端主机安装haproxyweb

# yum -y install haproxyredis

三、更改日志记录方式vim

1)# vim /etc/sysconfig/rsyslog后端

SYSLOGD_OPTIONS="-c 2 -r"浏览器


2)# vim /etc/rsyslog.conf安全

local2.*                                                /var/log/haproxy.log服务器

四、修改haproxy的配置文件为以下内容并发

# vim /etc/haproxy/haproxy.cfg

global

# to have these messages end up in /var/log/haproxy.log you will

# need to:

#

# 1) configure syslog to accept network log events.  This is done

#    by adding the '-r' option to the SYSLOGD_OPTIONS in

#    /etc/sysconfig/syslog

#

# 2) configure local2 events to go to the /var/log/haproxy.log

#   file. A line like the following can be added to

#   /etc/sysconfig/syslog

#

#    local2.*                       /var/log/haproxy.log

#

log         127.0.0.1 local2 #定义全局的syslog服务器,最多能够定

                             义两个;

chroot      /var/lib/haproxy #修改haproxy的工做目录至指定的目录并放                         弃权限以前执行chroot()操做,能够提高haproxy的                        安全级别,不过须要注意的是要确保指定的目录为空目

                      录且任何用户均不能有写权限;

pidfile     /var/run/haproxy.pid 

maxconn     4000 #设定每一个haproxy进程所接受的最大并发链接数

user        haproxy

group       haproxy

daemon #让haproxy以守护进程的方式工做于后台,其等同于“-D”选项的

                功能,固然,也能够在命令行中以“-db”选项将其禁用;

# turn on stats unix socket

stats socket /var/lib/haproxy/stats


#---------------------------------------------------------------------

# common defaults that all the 'listen' and 'backend' sections will

# use if not designated in their block

#---------------------------------------------------------------------

defaults

mode                    http #设定实例的运行模式或协议

log                     global    #为每一个实例启用事件和流量日志

option                  httplog #启用记录HTTP请求、会话状态

                                和计时器的功能

option                  dontlognull

option http-server-close #为每个请求都附加X-Forwarded-For首部必须启动的项

option forwardfor       except 127.0.0.0/8 #容许在发往服务器的请求首部

                               中插入“X-Forwarded-For”首部

option                  redispatch

retries                 3

timeout http-request    10s

timeout queue           1m

timeout connect         10s

timeout client          1m

timeout server          1m

timeout http-keep-alive 10s

timeout check           10s

maxconn                 3000 #定义最大链接数


listen stats

mode http

bind 0.0.0.0:1080           #定义监听的地址

stats enable

stats hide-version

stats uri     /haproxyadmin?stats #访问地址

stats realm   Haproxy\ Statistics #管理地址

stats auth    admin:admin   #用户名和密码

stats admin if TRUE


frontend web

bind *:80

mode http

log global

option httpclose

option logasap

option dontlognull

capture request  header Host len 20         #捕获并记录指定的请求首部

                                 最近一次出现时的第一个值

capture request  header Referer len 60

default_backend servers

backend servers

balance roundrobin

server web1 202.207.178.7:80 check maxconn 2000

server web2 202.207.178.8:80 check maxconn 2000

五、此时即可启动服务进行测试了

# service haproxy start

在浏览器中访问:

http://202.207.178.6 能够发现后端节点轮询

http://202.207.178.6:1080/haproxyadmin?stats 输入用户名admin和密码admin

                                后可登录进haproxy的管理界面

此时,HAProxy配置完成!

                        

                                 欢迎批评指正!

相关文章
相关标签/搜索