RHEL 6.5----haproxy实现负载均衡
主机名 | 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实现负载均衡的更多相关文章
- HAProxy 的负载均衡服务器,Redis 的缓存服务器
问答社区网络 StackExchange 由 100 多个网站构成,其中包括了 Alexa 排名第 54 的 StackOverflow.StackExchang 有 400 万用户,每月 5.6 亿 ...
- 基于 Haproxy 构建负载均衡集群
1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...
- 实现基于Haproxy+Keepalived负载均衡高可用架构
1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...
- 05.haproxy+mysql负载均衡 整合 redis集群+ssm
本篇重点讲解haproxy+mysql负载均衡,搭建完成后与之前搭建的redis+ssm进行整合 (注:这里用到了两台mysql数据库,分别安装两台虚拟机上,已经成功实现主主复制,如果有需要,请查看我 ...
- Haproxy+Keepalived负载均衡
Haproxy介绍 HAProxy是一个特别适用于高可用性环境的TCP/HTTP开源的反向代理和负载均衡软件.在7层负载均衡方面的功能很强大(支持cookie track, header rewrit ...
- LNMP+HAProxy+Keepalived负载均衡 - LNMP基础环境准备
环境版本说明: 服务器系统:CentOS 7.5: ``` cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) # 输出结果 `` ...
- Haproxy 构建负载均衡集群
1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...
- Nginx,Haproxy/lvs负载均衡的优缺点分析
PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...
- haproxy实现负载均衡
一.安装tar zxvf haproxy-1.4.22.tar.gzcd haproxy-1.4.22make TARGET=linux26 PREFIX=/usr/local/haproxy ins ...
- Haproxy+MYSQL 负载均衡 原创
[root@monitor app1]# yum install haproxy Loaded plugins: security : epel | : epel/primary_db | : ext ...
随机推荐
- hihoCoder 1582 Territorial Dispute 【凸包】(ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛)
#1582 : Territorial Dispute 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 In 2333, the C++ Empire and the Ja ...
- @SpringBootApplication 注解
@SpringBootApplication 启动类注解(一般在root下):该注解被@Configuration.@EnableAutoConfiguration.@ComponentScan 这三 ...
- sql server中like无法匹配下划线问题解决方案
在sql server的like中下划线类似于通配符%,所以无法使用like '%_%'来匹配下划线,可以通过以下两种办法实现匹配下划线 1.使用转义字符escape like '%\_%' esca ...
- RegistryView
https://docs.microsoft.com/en-us/dotnet/api/microsoft.win32.registryview?view=netframework-4.7 On th ...
- 使用PHP对word文档进行操作的方法
使用php时,因为加密等原因,如果直接用FILE后者OPEN等函数读取WORD的话往往是乱码,原来要使用COM 这是我简单的一个读取并存储到新的WORD上的文件<? // 建立一个指向新COM组 ...
- JAVA 布局控制
在Java里该方法是安一个组件到一个窗体中去,它不同我们使用过的其它GUI系统.首先,它是全代码的:没有控制安放组件的“资源”.其次,该方法的组件被安放到一个被“布局管理器”控制的窗体中,由“布局管理 ...
- 构建Docker平台【第一篇】环境准备
主机信息 操作系统版本 CentOS-7-x86_64-Everything-1511 主机A 192.168.6.128 主节点 主机B 192.168.6.129 主节点 主机C 192.16 ...
- Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar
转自:https://blog.csdn.net/u011422744/article/details/39851693 在SSH开发,搭建环境的时候,启动tomcat服务器,就报这个异常! 信息: ...
- 使用Ajax选取ListBox的值异步更新视图,并作为表单值提交
一.控制器返回一个ViewBag MultiSelecList值. public ActionResult Create() { ViewBag.ReviewIndexItems = new Mult ...
- 网络爬虫之Selenium模块和Xpath表达式+Lxml解析库的使用
实际生产环境下,我们一般使用lxml的xpath来解析出我们想要的数据,本篇博客将重点整理Selenium和Xpath表达式,关于CSS选择器,将另外再整理一篇! 一.介绍: selenium最初是一 ...