主机名 IP
master 192.168.30.130
node-1 192.168.30.131
node-2 192.168.30.132

在master上安装

[root@master ~]# tar -xf haproxy-1.4..tar.gz -C /usr/local/src/
[root@master ~]# cd /usr/local/src/
[root@master src]# cd haproxy-1.4./
[root@master haproxy-1.4.]# ls
CHANGELOG doc examples LICENSE Makefile.bsd README src tests VERDATE
contrib ebtree include Makefile Makefile.osx ROADMAP SUBVERS TODO VERSION
[root@master haproxy-1.4.]# vim Makefile
PREFIX = /usr/local/haproxy
SBINDIR = $(PREFIX)/sbin
MANDIR = $(PREFIX)/share/man
DOCDIR = $(PREFIX)/doc/haproxy #### TARGET system
# Use TARGET=<target_name> to optimize for a specifc target OS among the
# following list (use the default "generic" if uncertain) :
# generic, linux22, linux24, linux24e, linux26, solaris,
# freebsd, openbsd, cygwin, custom, aix52
TARGET = Linux26
[root@master haproxy-1.4.]# make install
.........................
install -d /usr/local/haproxy/sbin
install haproxy /usr/local/haproxy/sbin
install -d /usr/local/haproxy/share/man/man1
install -m doc/haproxy. /usr/local/haproxy/share/man/man1
install -d /usr/local/haproxy/doc/haproxy
...

配置haproxy

[root@master haproxy-1.4.]# ls /usr/local/haproxy/  #可以看出目录下面没有配置文件,需要手动创建
doc sbin share
[root@master haproxy-1.4.]# cd /usr/local/haproxy/
[root@master haproxy]# mkdir etc
[root@master haproxy]# cd etc/
[root@master etc]# touch haproxy.cfg
global
log 127.0.0.1 local0
#log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn
chroot /usr/local/haproxy
uid #所属运行的用户uid
gid #所属运行的用户组
daemon #以后台形式运行haproxy
nbproc #启动1个haproxy实例
pidfile /usr/local/haproxy/haproxy.pid #将所有进程写入pid文件
#debug
#quiet
defaults
log global
log 127.0.0.1 local3 #日志文件的输出定向
mode http #所处理的类别,默认采用http模式,可配置成tcp作4层消息转发
option httplog #日志类别
option httpclose #每次请求完毕后主动关闭http通道,haproxy不支持keep-alive,只能模拟这>
种模式的实现
option dontlognull
option forwardfor #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Head
er中获得客户端ip
option redispatch #当serverid对应的服务器挂掉后,强制定向到其他健康服务器
retries #2次连接失败就认为服务器不可用,主要通过后面的check检查
maxconn
balance roundrobin #负载均衡算法
stats uri /haproxy-stats #haproxy 监控页面的访问地址
# 可通过 http://localhost:80/haproxy-stats 访问
contimeout #连接超时时间
clitimeout #客户端连接超时时间
srvtimeout #服务器端连接超时时间
listen localhost 0.0.0.0: #运行的端口及主机名
mode http
option httpchk GET /index.html #健康检测
server s1 192.168.30.131: weight check #后端的主机 IP &权衡
server s2 192.168.30.132: weight check #后端的主机 IP &权衡
#server s3 192.168.148.110: weight check #后端的主机 IP &权衡

启动和停止haproxy

[root@master ~]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg
[root@master ~]# echo $? [root@master ~]# ps -aux | grep haproxy | grep -v grep
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2./FAQ
nobody 0.0 0.0 ? Ss : : /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg
重启haproxy
[root@master ~]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg -st `cat /usr/local/haproxy/haproxy.pid`
[root@master ~]# echo $? [root@master ~]# killall haproxy
[root@master ~]# ps -aux | grep haproxy | grep -v grep
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2./FAQ

查看帮助

[root@master ~]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg  --help
HA-Proxy version 1.4. //
Copyright - Willy Tarreau <w@1wt.eu> Usage : haproxy [-f <cfgfile>]* [ -vdVD ] [ -n <maxconn> ] [ -N <maxpconn> ]
[ -p <pidfile> ] [ -m <max megs> ]
-v displays version ; -vv shows known build options.
-d enters debug mode ; -db only disables background mode.
-V enters verbose mode (disables quiet mode)
-D goes daemon
-q quiet mode : don't display messages
-c check mode : only check config files and exit
-n sets the maximum total # of connections ()
-m limits the usable amount of memory (in MB)
-N sets the default, per-proxy maximum # of connections ()
-p writes pids of all children to this file
-de disables epoll() usage even when available
-ds disables speculative epoll() usage even when available
-dp disables poll() usage even when available
-sf/-st [pid ]* finishes/terminates old pids. Must be last arguments.

开启日志收集

[root@master ~]# vim /etc/rsyslog.conf
.........大约在13,14行,开启UDPServerRun
$ModLoad imudp
$UDPServerRun
..........大约在60行左右
local7.* /var/log/boot.log #在此行下面添加如下两行内容
local3.* /var/log/haproxy.log
local0.* /var/log/haproxy.log
重启rsyslog服务
[root@master ~]# service rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]

在node-1和node-2上

安装httpd和php
[root@node- ~]# yum install -y httpd php
创建测试页面
[root@node- ~]# echo "<h1>Web-Server:192.168.30.131</h1>" > /var/www/html/index.html
[root@node- ~]# service httpd restart
在node-2上安装httpd和php
[root@node- ~]# yum install -y httpd php
[root@node- ~]# echo "<h1>Web-Server:192.168.30.132</h1>" > /var/www/html/index.html
[root@node- ~]# service httpd restart

浏览器测试

按F5刷新

查看haproxy的工作状态

配置文件模板和启动脚本的模板可以在这个目录下查看

[root@master ~]# cd /usr/local/src/haproxy-1.4./examples/
[root@master examples]# ls
acl-content-sw.cfg debug2html init.haproxy
auth.cfg debugfind init.haproxy.flx0
build.cfg errorfiles linux-2.4.-.EL-custom.diff
check examples.cfg option-http_proxy.cfg
check.conf haproxy-1.1.-flx..pkg rc.highsock
config.rc.haproxy haproxy.cfg stats_haproxy.sh
content-sw-sample.cfg haproxy.init tarpit.cfg
cttproxy-src.cfg haproxy.spec test-section-kw.cfg
debug2ansi haproxy.vim url-switching.cfg
比如创建开机启动
[root@master examples]# cp haproxy.init /etc/init.d/haproxy
[root@master examples]# chkconfig --add haproxy
[root@master examples]# chkconfig haproxy on
[root@master examples]# chkconfig haproxy --list
haproxy :off :off :on :on :on :on :off

RHEL 6.5----haproxy实现负载均衡的更多相关文章

  1. HAProxy 的负载均衡服务器,Redis 的缓存服务器

    问答社区网络 StackExchange 由 100 多个网站构成,其中包括了 Alexa 排名第 54 的 StackOverflow.StackExchang 有 400 万用户,每月 5.6 亿 ...

  2. 基于 Haproxy 构建负载均衡集群

    1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...

  3. 实现基于Haproxy+Keepalived负载均衡高可用架构

    1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...

  4. 05.haproxy+mysql负载均衡 整合 redis集群+ssm

    本篇重点讲解haproxy+mysql负载均衡,搭建完成后与之前搭建的redis+ssm进行整合 (注:这里用到了两台mysql数据库,分别安装两台虚拟机上,已经成功实现主主复制,如果有需要,请查看我 ...

  5. Haproxy+Keepalived负载均衡

    Haproxy介绍 HAProxy是一个特别适用于高可用性环境的TCP/HTTP开源的反向代理和负载均衡软件.在7层负载均衡方面的功能很强大(支持cookie track, header rewrit ...

  6. LNMP+HAProxy+Keepalived负载均衡 - LNMP基础环境准备

    环境版本说明: 服务器系统:CentOS 7.5: ``` cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) # 输出结果 `` ...

  7. Haproxy 构建负载均衡集群

    1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...

  8. Nginx,Haproxy/lvs负载均衡的优缺点分析

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

  9. haproxy实现负载均衡

    一.安装tar zxvf haproxy-1.4.22.tar.gzcd haproxy-1.4.22make TARGET=linux26 PREFIX=/usr/local/haproxy ins ...

  10. Haproxy+MYSQL 负载均衡 原创

    [root@monitor app1]# yum install haproxy Loaded plugins: security : epel | : epel/primary_db | : ext ...

随机推荐

  1. Deep Learning 32: 自己写的keras的一个callbacks函数,解决keras中不能在每个epoch实时显示学习速率learning rate的问题

    一.问题: keras中不能在每个epoch实时显示学习速率learning rate,从而方便调试,实际上也是为了调试解决这个问题:Deep Learning 31: 不同版本的keras,对同样的 ...

  2. POJ1321 棋盘问题 —— DFS回溯

    题目链接:http://poj.org/problem?id=1321 棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions ...

  3. YTU 2417: C语言习题 字符串长度

    2417: C语言习题 字符串长度 时间限制: 1 Sec  内存限制: 128 MB 提交: 758  解决: 548 题目描述 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长 ...

  4. Vue实现仿淘宝商品详情属性选择的功能

    Vue实现仿淘宝商品详情属性选择的功能 先看下效果图:(同个属性内部单选,属性与属性之间可以多选) 主要实现过程: 所使用到的数据类型是(一个大数组里面嵌套了另一个数组)具体格式如下:   attrA ...

  5. bzoj-1012 1012: [JSOI2008]最大数maxnumber(线段树)

    题目链接: 1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MB Description 现在请求你维护一个数列,要 ...

  6. 【Codeforces 947B】 Producting Snow

    [题目链接] 点击打开链接 [算法] 前缀和 + 堆 [代码] #include<bits/stdc++.h> using namespace std; typedef long long ...

  7. RDA TDT & TOT

    首先看下面的TS PSI分析图: 注意:TOT UTC与TDT是一致的 TDT下的时间为: UTC+手动TIMEZONE TOT下的时间为: UTC+解析的time_offset time_offes ...

  8. idea类名下有红色波浪线

    能编译通过说明SDK导入正确,但是为啥我们点击每一个Java文件会出现好多红色的下划线 ,并提示idea cant resolve symbol 原因就是可能没有清除原来的历史缓存,导致一些错误,解决 ...

  9. 【旧文章搬运】Windbg+Vmware驱动调试入门(二)---Vmware及GuestOS的设置

    原文发表于百度空间,2009-01-08========================================================================== 这一篇是主 ...

  10. vs2008打开类视图,看不到类的解决方法

    去工程文件中删除ncb文件,重新打开工程