标签:
系统环境:CentOS6.6 X86_64服务器配置:haproxy代理服务器 IP:172.16.34.11后端web1 IP:172.16.34.12后端web2 IP:172.16.34.13
redhat6.4之后就收录进了haproxy,所以这里直接yum安装yum -y install haproxy # 安装cp /etc/haproxy/haproxy.cfg{,.bak} # 备份配置文件
在web1上vim /var/www/html/index.html<h1> web1 </h1> 添加信息并保存退出vim /etc/httpd/conf/httpd.confServerName localhost:80 找到ServerName改为这个,保存退出,不改也可以,只是不让启动httpd服务的时候提示的信息,保存退出service httpd start 启动httpd服务在web2上执行如上动作,将vim /var/www/html/index.html<h1> web2 </h1>启动服务在代理服务器上:vim /etc/haproxy/haproxy.cfg在frontend段和backend段编辑如下frontend main *:80 # 定义监听在什么端口上#acl url_static path_beg -i /static /images /javascript /stylesheets#acl url_static path_end -i .jpg .gif .png .css .js#use_backend static if url_staticdefault_backend webserver # 默认的backend是什么,backend的名称可以自定义但必须与下面的相同#backend static# balance roundrobin# server static 127.0.0.1:4331 checkbackend webserver # 定义backend段的后端服务器地址及负载均衡调度算法balance roundrobinserver web1 172.16.34.12:80 checkserver web2 172.16.34.13:80 check保存退出service haproxy start 启动ss -tnlp 可以看到haproxy监听在80端口上了后并在浏览器上输入172.16.34.11测试
全局设置 定义程序的工作属性global # global配置中的参数为进程级别的参数,且通常与其运行的OS相关。log 127.0.0.1 local2 # 全局的日志配置,local2是日志设备chroot /var/lib/haproxy # 修改haproxy的工作目录至指定的目录并在放弃权限之前执行chrootpidfile /var/run/haproxy.pid # haproxy.pid文件存放路径maxconn 4000 # 最大连接数user haproxy # 运行用户group haproxy # 运行组daemon # 守护进程,使HAProxy进程进入后台运行。这是推荐的运行模式stats socket /var/lib/haproxy/stats 启用基于程序编译时默认设置的统计报告通用默认段defaults # “defaults”段用于为所有其它配置段提供默认参数,这配置默认配置参数可由下一个“defaults”所重新设定。mode http # 模式 {tcp|http|health}log global # 应用全局的日志配置option httplog # 采用http日志格式option dontlognull # 启用或禁用空连接的日志记录。这里是不记录空连接option http-server-close # 为每一个请求都附加首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 # 最大連接數定义后端web的配置,可以使用组或单个主机使用acl定义frontend main *:5000 # “frontend”段用于定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接。acl url_static path_beg -i /static /images /javascript /stylesheets # acl控制列表acl url_static path_end -i .jpg .gif .png .css .js # acl控制列表use_backend static if url_staticdefault_backend app定义后端web的组backend static # “backend”段用于定义一系列“后端”服务器,代理将会将对应客户端的请求转发至这些服务器。balance roundrobin # 定义负载均衡算法,roundrobin:基于权重进行轮叫server static 127.0.0.1:4331 check # 服务器地址及端口,check:启动对此server执行健康状态检查backend appbalance roundrobin # # 定义负载均衡算法,roundrobin:基于权重进行轮叫server app1 127.0.0.1:5001 check # 服务器地址及端口,check:启动对此server执行健康状态检查
vim /etc/haproxy/haproxy.cfgstats uri /haproxy-stats 在defaults段内插入这一段,后面的名字可以随便输入,访问的时候是http://172.16.34.11/haproxy-stats 在域名后面跟上输入的名字就可以进入stats状态页了service haproxy restart

vim /etc/haproxy/haproxy.cfgstats auth admin:password 在stats行下插入这一行 :的是帐号和密码 支持多帐号密码登录,一行一个帐号密码service haproxy restart

- vim /etc/haproxy/haproxy.cfg
stats realm Haproxy\ 8888888888在stats行下插入这一行 是提示的信息service haproxy restart

vim /etc/haproxy/haproxy.cfg 在backend段中插入stats uri /haproxy-statsstats auth admin:passwordstats realm Haproxy\ 8888888888stats admin if TRUE

标签:
原文地址:http://www.cnblogs.com/qq354381577/p/ffdc443fe886c2c634df0ef836243a47.html