haproxy快速安装
haproxy是一款提供负载均衡的代理服务器,它可基于modetcp 实现伪四层调度,还可以基于modehttp实现七层调度,类似于nginx,因为他没有web服务所以不像nginx那样进行控制。
通过ACL访问控制列表,匹配客户端的请求,和服务器的转发进行控制
官方网站:https://cbonte.github.io/haproxy-dconv/
实验
HAproxy服务器ip:192.168.1.102(这里若隐藏后端服务器的ip,这需要设定两个ip,一个公网,一个私网)(haproxy是一个纯粹的反代,他没有web服务),后端服务器:192.168.1.104 192.168.1.105
1 同步时间 #systemctl start chronyd.service
2 后端服务器安装http服务或使用nginx
yum install http -y
给一个测试网页:
# vim /var/www/html/index.html
<h1>server 1 </h1>
#systemctl start httpd.service 启动服务
3安装haproxy
配置文件:/etc/haproxy/haproxy.cfg
配置文件中配置分为几段:
1 全局配置段 global (设置自己的进程特性)通用的默认配置
进程及安全配置
性能参数配置
debug参数
用户列表
2 代理配置段 proxy 用于将用户请求代理后端的
代理配置段分四类字段:
default: 是为backend和listen 这两段 提供默认配置
fronted: 对前端服务器的配置
backend: 对后端服务器的配置
listen:设定frented与backend两者是一 一对应的,这段同时拥有前端和后端的配置,是一对一的,这样其他人就不能调度该后端里
日志:haproxy它本身没有日志功能,日志需要rsyslog或syslog 日志服务来配合
vim /etc/haproxy/haproxy.cfg
日志设定: log 127.0.0.1 local2 指定本地日志服务器local2
log 127.0.0.1 local2
这需要在rsyslog配置文件中做配置 可能日志服务器中的local2 没有启动
vim /etc/rsyslog.conf
$ModLoad imudp 取消注释 基于udp 记录日志
$UDPServerRun 514 基于udp 描述端口
local2.* /var/log/haproxy.log
重启日志服务器:systemctl restart rsyslog.service (514端口处于监听)
反代配置

srv1 只是内部使用的id (这里不是主机名)
启动服务:systemctl start haproxy.service
curl http://192.168.1.102 访问测试
负载均衡:
backend websrvs
balance roundrobin 轮询
server srv1 192.168.1.104:80 check
server srv2 192.168.1.105:80 check
重启服务: # systemctl restart haproxy.service
访问:curl http://192.168.1.102
for i in {1.. 10} ; do curl http://192.168.1.102/ ; done
参数:
在global 设置参数 这些参数多数不需要改
1 chroot: 与安全相关(假的根环境)以chroot运行
2 ca-base 若基于ssh回话的ca认证相关
3 cpu-map cpu绑定类似于nginx的worker进程与cpu的绑定
4 log 指定日志
5 maxconn 最大单进程并发连接数
6 maxconnrate 速率
7 noepoll 不使用epoll机制
haproxy快速安装的更多相关文章
- Centos7快速安装haproxy
HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...
- 烂泥:高负载均衡学习haproxy之安装与配置
本文由秀依林枫提供友情赞助,首发于烂泥行天下 有关高负载均衡的软件,目前使用比较多的是haproxy.nginx和lvs.下面我们就开始学习haprxoy这款软件. 一.haproxy介绍 以下开始介 ...
- CocoaPods 的简单快速安装方法
CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了. 一.git clone方法安装cocoapods 镜像 ...
- HAProxy的安装与使用
在互联网时代中,后台系统架构,经常可以听到高可用集群.负载均衡集群之类的系统架构解决方案,其中,负载均衡有基于硬件的F5.Big-IP等,也有基于软件的LVS(基于Linux操作系统实现,性能可以和基 ...
- CentOS RDO方式快速安装OpenStack
一.了解RDO RDO是什么? RDO是红帽Red Hat Enterprise Linux OpenStack Platform的社区版,类似RHEL和Fedora,RHEV和oVirt这样的关系. ...
- Linux超快速安装Ruby on Rails
Linux超快速安装Ruby on Rails 时间 2014-11-25 11:45:11 Flincllck Talk 原文 http://www.flincllck.com/quick-ins ...
- Python,Jupyter Notebook,IPython快速安装教程
0.安装环境 Windows10,Python3.5.1,IPython,jupyter notebook,and other functionality 官方安装文档Linux版3.x 官方安装文档 ...
- 转载 - Vultr VPS注册开通且一键快速安装PPTP VPN和电脑连接使用
本文转载来自:https://www.vultrclub.com/139.html 从2014年Vultr VPS进入市场之后,作为有背景.实力的搅局者,是的最近两年VPS.服务器的用户成本降低.配置 ...
- Vmware快速安装linux虚拟机(SUSE)
安装环境:Vmware 11.SUSE11 64位 vmware快速安装linux虚拟机的过程还是比较简单的,步骤如下: 1.点击文件,新建虚拟机. 2.选择典型安装. 3.在红框中选择想要安装的虚拟 ...
随机推荐
- golang中使用Redis
一.golang中安装Redis github地址:https://github.com/garyburd/redigo 文档地址:http://godoc.org/github.com/garybu ...
- Java基础 -- Collection和Iterator接口的实现
Collection是描述所有序列容器(集合)共性的根接口,它可能被认为是一个“附属接口”,即因为要表示其他若干个接口的共性而出现的接口.另外,java.util.AbstractCollection ...
- easyui Datagrid 表格高度计算及自适应页面的实现
因为页面上既要计算表格的高度,又要自适应浏览器大小,之前都都采用固定表格高度,这样就会导致不同的分辨率电脑上看起来表格高矮不一, 所以采用了计算网页高度和其他div 的高度之差作为表格的初始高度: H ...
- Spring Security 访问控制 源码解析
上篇 Spring Security 登录校验 源码解析 分析了使用Spring Security时用户登录时验证并返回token过程,本篇分析下用户带token访问时,如何验证用户登录状态及权限问 ...
- python3 练手实例2 解一元二次方程组
import math def y(): a,b,c=map(float,input('请输入一元二次方程式ax^2+bx+c=0,abc的值,用空格隔开:').split()) d=math.pow ...
- Coursera, Big Data 4, Machine Learning With Big Data (week 3/4/5)
week 3 Classification KNN :基本思想是 input value 类似,就可能是同一类的 Decision Tree Naive Bayes Week 4 Evaluating ...
- 第30月第18天 autolayout代码
1.上下左右 [tipsLabel setTranslatesAutoresizingMaskIntoConstraints:NO]; { id view1 = tipsLabel; id view2 ...
- 如何解压DMK固件
一.DMK固件 从罗克韦尔自动化下载的固件通常是以DMK为后缀名的文件: DMK文件无法直接使用,需要使用DMK Extraction Tool解压: 二.方法步骤 1. 如果从官网下载的固件文件后 ...
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(四)基于Shiro验证用户权限,且给用户授权
最新项目比较忙,写文章的精力就相对减少了,但看到邮箱里的几个催更,还是厚颜把剩下的文档补上. 一.修改ShiroDbRealm类,实现它的doGetAuthorizationInfo方法 packag ...
- java实现多个文件以压缩包导出到本地
描述:使用java将多个文件同时压缩为压缩包,并导出到本地 /** *压缩文件并导出 */ public static void zipFiles() throws IOException { Fil ...