haproxy实现负载均衡
一.安装
tar zxvf haproxy-1.4.22.tar.gz
cd haproxy-1.4.22
make TARGET=linux26 PREFIX=/usr/local/haproxy install ( 注意要大写)
注:linux26就是linux内核的版本号可以用uname -r可查看 2.6 就可以写为linux26
配置:
cd /usr/local/haproxy
vi haproxy.conf -->新建配置文件,以下是配置文件的模板在此基础上修改:
global
log 127.0.0.1 local0
maxconn 4096 # 默认最大连接数
chroot /usr/local/haproxy # chroot运行的路径
uid 501 # 所属运行的用户uid
gid 501 # 所属运行的用户组ID
daemon # 以后台形式运行haproxy
nbproc 1 # 进程数量(可以设置多个进程提高性能)
pidfile /usr/local/haproxy/logs/haproxy.pid # haproxy的PID存放路径,启动进程的用户必须有权限访问些文件
debug
#ulimit -n 65535 # ulimit 的数据限制
defaults
log 127.0.0.1 local3
mode http # 所处理的类别(7层 http;4层:tcp)
option httplog # 日志类别http日志格式
option httpclose # 每次请求完毕后主动关闭http通道
option dontlognull # 不记录健康检查的日志信息
option forwardfor # 如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip
option redispatch # serverId对应的服务器挂掉后,强制定向到其他健康的服务器
retries 2 # 2次连接失败就认为服务不可用,也可以通过后面设置
maxconn 65535 # 最大连接数
balance roundrobin # 默认的负载均衡的方式,轮询方式
#balance source # 默认的负载均衡的方式,类似nginx的ip_hash
#balance leastconn # 默认的负载均衡的方式,最小连接
stats uri /haproxy-stats # 监控页面的url
#stats refresh 30 # 统计页面刷新间隔
contimeout 5000 # 连接超时
clitimeout 50000 # 客户端超时
srvtimeout 50000 # 服务器超时
#timeout check 2000 # 心跳检测超时
-------------------------------------------------------------------------------
####################监控页面的设置#######################
listen admin_status #Frontend和Backend的组合体,监控组的名称,按需自定义名称
bind 0.0.0.0:65532 #监听端口
mode http #http的7层模式
log 127.0.0.1 local3 err #错误日志记录
stats refresh 5s #每隔5秒自动刷新监控页面
stats uri /admin?stats #监控页面的url
stats realm itnihao\ itnihao #监控页面的提示信息
stats auth admin:admin #监控页面的用户和密码admin,可以设置多个用户名
stats auth admin1:admin1 #监控页面的用户和密码admin1
stats hide-version #隐藏统计页面上的HAproxy版本信息
stats admin if TRUE #手工启用/禁用,后端服务器(haproxy-1.4.9以后版本)
errorfile 403 /etc/haproxy/errorfiles/403.http
errorfile 500 /etc/haproxy/errorfiles/500.http
errorfile 502 /etc/haproxy/errorfiles/502.http
errorfile 503 /etc/haproxy/errorfiles/503.http
errorfile 504 /etc/haproxy/errorfiles/504.http
#################HAProxy的日志记录内容设置###################
capture request header Host len 40
capture request header Content-Length len 10
capture request header Referer len 200
capture response header Server len 40
capture response header Content-Length len 10
capture response header Cache-Control len 8
--------------------------------------------------------------------------------
##########以上不用动,主要改以下部分:--->
# listen 名称(叫什么都可以) *(绑定的IP地址):端口号(对外)
# 数据库的
listen mysql_proxy *:3307
mode tcp # 要是网站就是写成 http
# 负载均衡策略:
# 最少链接:leastconn
# 轮询: roundrobin 每个server根据权重依次被轮询
# ip-hash: source 同一个IP地址就访问同到初步访问的服务器上
# 默认为轮询方式
balance leastconn
# server 名字(叫什么都可以) ip主机:端口 权重(数值)
server db1 192.168.2.104:3306 weight 1
server db2 192.168.2.105:3306 weight 1
# web服务器的
listen http *:80
server web1 192.168.2.10:80 weight 1
server web1 192.168.2.11:80 weight 1
#listen web_proxy *:80
# server web1 192.168.2.104:80 check inter 2000 rise 2 fall 5
# server web2 192.168.2.105:80 check inter 2000 rise 2 fall 5
#######################################
#cookie SERVERID #允许插入serverid到cookie中,serverid后面可以定义
#option httpchk GET /index.html #心跳检测的文件
#server web1 192.168.16.2:80 cookie web1 check inter 1500 rise 3 fall 3 weight 1
#服务器定义,cookie 1表示serverid为web1,check inter 1500是检测心跳频率rise 3是3次正确认为服务器可用,
#fall 3是3次失败认为服务器不可用,weight代表权重
#######################################
启动:
ulimit -SHn 65535
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.conf &
关闭:
pkill -9 haproxy
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+MYSQL 负载均衡 原创
[root@monitor app1]# yum install haproxy Loaded plugins: security : epel | : epel/primary_db | : ext ...
随机推荐
- init/main.c
/* * linux/init/main.c * * Copyright (C) 1991, 1992 Linus Torvalds */ #include <stdarg.h> #inc ...
- JS初学之-自定义属性(索引值)
重点:1.添加索引值的作用:建立匹配.对应的关系. 比如:使每一个按钮对应数组里的每一张图,arrImg[this.index]. 2.不要在for循环的函数里面使用i. 3.添加索引值的方法aBtn ...
- 点亮LED(库函数实现)
本次测试采用的芯片是STM32F103CB 我的开发板如下: 此开发板有8个led,分别为D11,D12,D13,D14,D15,D16,D17,D18.查询核心板的电路图后知道其对应芯片的控制引脚为 ...
- 论文笔记之:Fully-Convolutional Siamese Networks for Object Tracking
gansh Fully-Convolutional Siamese Network for Object Tracking 摘要:任意目标的跟踪问题通常是根据一个物体的外观来构建表观模型.虽然也取得了 ...
- cluster,network
How cluster works https://technet.microsoft.com/en-us/library/cc738051(v=ws.10).aspx http://blogs.te ...
- QMessageBox类学习:
先来看一下最熟悉的QMessageBox::information.我们在以前的代码中这样使用过: QMessageBox::information(NULL, "Title" ...
- 套接字I/O模型-WSAAsyncSelect
利用这个异步I/O模型,应用程序可在一个套接字上接收以Windows消息为基础的网络事件通知.WSAAsyncSelect和WSAEventSelect提供读写数据能力的异步通知,但它们不提供异步数据 ...
- 使用swiper和吸顶效果代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- MyISAM 和InnoDB区别
MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理 ...
- Linux进程间通信-命名管道
前面我们讲了进程间通信的一种方式,匿名管道.我们知道,匿名管道只能用于父子关系的进程之间.那么没有这种关系的进程之间该如何进行数据传递呢? 1.什么是命名管道 匿名管道是在缓存中开辟的输出和输入文件流 ...