负载均衡器之 Haproxy
1. 编译安装haproxy
官网: http://www.haproxy.org
1.1 下载haproxy
# wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.14.tar.gz
1.2 解压haproxy
# .tar.gz
1.3 查看编译方法
# less README 下面选自README To build haproxy, you have to choose your target OS amongst the following ones and assign it to the TARGET variable : - linux22 for Linux 2.2 - linux24 for Linux 2.4 and above (default) - linux24e for Linux 2.4 with support for a working epoll (> 0.21) - linux26 for Linux 2.6 and above - linux2628 , .x, and above (enables splice and tproxy) - solaris or (others untested) - freebsd to (others untested) - netbsd for NetBSD - osx for Mac OS/X - openbsd for OpenBSD 3.1 and above - aix51 for AIX 5.1 - aix52 for AIX 5.2 - cygwin for Cygwin - generic for any other OS or version. - custom to manually adjust every setting By default, the DEBUG variable is set to '-g' to enable debug symbols. It is not wise to disable it on uncommon systems, because it's often the only way to get a complete core when you need one. Otherwise, you can set DEBUG to '-s' to strip the binary. For example, I use this to build : $ And I build it this way on OpenBSD or FreeBSD : $ gmake TARGET=freebsd USE_PCRE= USE_OPENSSL= USE_ZLIB= And on a classic Linux with SSL and ZLIB support (eg: Red Hat .x) : $ USE_OPENSSL= USE_ZLIB= And on a recent Linux >= with SSL and ZLIB support : $ USE_OPENSSL= USE_ZLIB= In order to build a -bit binary on an x86_64 Linux system with SSL support without support for compression but when OpenSSL requires ZLIB anyway : $ ADDLIB=-lz
1.4 安装:
# USE_OPENSSL= USE_ZLIB= 安装方法是根据自己内核版本来了,具体查看内核的方法: # uname -a # make install PREFIX=/usr/local/haproxy
2. haproxy最简单的配置
2.1 拷贝配置文件
# mkdir -p /usr/local/haproxy/conf/ # cp -a examples/content-sw-sample.cfg /usr/local/haproxy/conf/ # mv /usr/local/haproxy/conf/content-sw-sample.cfg /usr/local/haproxy/conf/http_haproxy.conf
配置配置文件如下
# cat http_haproxy.conf | grep -v "#" global maxconn log 127.0.0.1 local0 uid gid chroot /usr/local/haproxy/var daemon frontend public bind name clear mode http default_backend dynamic timeout client 30s backend dynamic mode http timeout connect 5s timeout server 30s timeout queue 30s balance roundrobin server server_01 minconn maxconn check inter server server_02 minconn maxconn check inter #
2.2 检查语法
# ./haproxy -f /usr/local/haproxy/conf/http_haproxy.conf -c Configuration file is valid #
2.3 测试访问
# netstat -tulnp | grep haproxy tcp /./haproxy # # curl -I http://192.168.31.243:81/ HTTP/ OK Server: nginx/ Date: Mon, Jan :: GMT Content-Type: text/html Content-Length: Last-Modified: Tue, Dec :: GMT ETag: "5c1898d6-27c" Accept-Ranges: bytes # curl -I http://192.168.31.243:80 HTTP/ OK Server: nginx/ Date: Mon, Jan :: GMT Content-Type: text/html Content-Length: Last-Modified: Tue, Dec :: GMT Connection: keep-alive ETag: "5c1898d6-27c" Accept-Ranges: bytes #
3. 出现的问题和解决的办法
3.1 haproxy 默认log不输出的问题
在haproxy配置文件中,指定了 log 输出为 local0 之后,同时也在 /etc/rsyslog.conf 配置了
local0.* /var/log/haproxy.log
发现还是不行,最后发现UDPServer未开启导致的,
# cat /etc/rsyslog.conf | grep "UDPServerRun" $UDPServerRun # UDPServerRun 514 需要打开
验证是否打开 # netstat -tulnp | grep 514 udp 0 0 0.0.0.0:514 0.0.0.0:* 2772/rsyslogd udp 0 0 :::514 :::* 2772/rsyslogd #
负载均衡器之 Haproxy的更多相关文章
- 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比
本文出自 “抚琴煮酒” 博客,出处http://andrewyu.blog.51cto.com/1604432/697466 现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶 ...
- Haproxy原理(1)
一.四层和七层负载均衡的区别 所谓的四层就是ISO参考模型中的第四层.四层负载均衡也称为四层交换机,它主要是通过分析IP层及TCP/UDP层的流量实现的基于IP加端口的负载均衡.常见的基于四层的负载均 ...
- 关于haproxy
高性能负载均衡软件 haproxy 一.四层和七层负载均衡的区别: 所谓的四层就是OSI参考模型中的第四层,四层负载均衡也称为四层交换机,他主要是通过分析IP层及TCP/UDP层的流量实现的基于IP加 ...
- PXC5.7(Percona XtraDB Cluster)+HAproxy+Keepalived 集群部署
Percona-XtraDB-Cluster+Haproxy 搭建集群环境 环境准备及服务器信息: 配置防火墙 firewall-cmd --add-port=3306/tcp --permanent ...
- HAProxy详解(一):HAProxy介绍【转】
一.高性能负载均衡软件HAProxy介绍: 随着互联网业务的迅猛发展,大型电商平台和门户网站对系统的可用性和可靠性要求越来越高,高可用集群.负载均衡集群成为一种热门的系统架构解决方案.在众多的负载均衡 ...
- HAProxy从零开始到掌握
转自:https://www.jianshu.com/p/c9f6d55288c0 目录: HAProxy是什么 HAProxy的核心能力和关键特性 HAProxy的安装和运行 使用HAProxy搭建 ...
- 1、代理服务器及haproxy基础
1.web站点架构 前端一台主机提供app server,当用户请求到达时,如果要存储结构化数据,就需要找一台主机做database server.当业务达到一定程度时,要把web server.存储 ...
- [转]Haproxy原理(1)
本文出处:https://www.cnblogs.com/skyflask/p/6970151.html 目录 一.四层和七层负载均衡的区别二.HAProxy与LVS的异同三.快速安装HAProxy集 ...
- Haproxy基础知识 -运维小结
开源软件负载均衡器 现在常用的三大开源软件负载均衡器分别是Nginx.LVS.Haproxy. 在之前的文章中已经对比了这三个负载均衡软件, 下面根据自己的理解和使用经验, 再简单说下这三个负载均衡软 ...
随机推荐
- 【第二组】Hunter——beta版发布文档
软件测试报告 一.bug情况汇总 尚需解决以及难以解决的: 登录时会有卡顿,需要加入加载进度条(会添加的) 商城和背包功能尚未实现(需要修复) 美工水平太差,让人没有使用的欲望(大概接下来就专门做这个 ...
- JAVA字符串的处理
问题描述: 从键盘数入若干文字,最后输入的一行"end"代表结束标记. 统计该段文字中英文字母的个数 将其中的所有单词the全部改为a,输出结果 将该段文字所有的数字串找出来输出 ...
- 在同时满足if 和 else 条件的情况下,输出所需的内容。
请问划线处填什么内容,可以输出 "Hello World!"?if(__________){ printf("Hello ");}else{ pri ...
- Linux - 文件和目录常用命令
文件和目录常用命令 目标 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 ...
- hdu 3065 AC自动机 标记数组不清零
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3065 题目里面要我们计算每种单词出现的次数,重叠的也要计算,那么我们在查找的时候不要把标记单词结尾的 ...
- UBuntu16.04 安装docker
1.首先更新apt-get源,sudo apt-get update 2.再通过pip安装docker-compose 3.然后再安装docker.io,sudo apt install docker ...
- css文本垂直居中的实现
本案例已经有新的比较简便的解决方案,可以直接采用 vertical-align:middle 样式对行内元素进行垂直居中布局,详见: 微信小程序开发——如何让商品标题类文本根据内容长度垂直居中. 以下 ...
- Food Delivery ZOJ - 3469(区间dp)
题目传送门 题目翻译:当我们专注于解决问题时,我们通常宁愿呆在电脑前而不是外出吃午饭.在这个时候,我们可能会要求提供食物. 假设有N个人生活在一条直线的街道上,它只是位于X坐标轴上.第i个人的坐标是X ...
- 2018-2019-2 20165315 《网络对抗技术》Exp2+ 后门进阶
2018-2019-2 20165315 <网络对抗技术>Exp2+ 后门进阶 一.实验要求 以下三个课题三选一 1.其他专用后门工具研究(CROSSRAT ...) 2.恶意代码绑定技术 ...
- FragmentManager中Fragment的重复创建、复用问题
当我们在Activity中使用 Fragment可以用FragmentManager去添加到对应个ViewGoup中使用 FragmentManager fragmentManager = getSu ...