haproxy之安装与配置详解
一、 HAProxy介绍
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
其支持从4层至7层的网络交换,即覆盖所有的TCP协议。就是说,Haproxy 甚至还支持 Mysql 的均衡负载。
如果说在功能上,能以proxy反向代理方式实现 WEB均衡负载,这样的产品有很多。包括 Nginx,ApacheProxy,lighttpd,Cheroke 等。
但要明确一点的,Haproxy 并不是 Http 服务器。以上提到所有带反向代理均衡负载的产品,都清一色是 WEB 服务器。简单说,就是他们能自个儿提供静态(html,jpg,gif..)或动态(php,cgi..)文件的传输以及处理。而Haproxy 仅仅,而且专门是一款的用于均衡负载的应用代理。其自身并不能提供http服务。
二、 环境配置
操作系统:ubuntu14.04
服务器IP规划:
192.168.100.115 (haproxy)------负载均衡
www.test.com->192.168.100.191
default ->192.168.100.115:8090
三、 HAProxy安装
#apt-get update
#apt-get install haproxy
安装完成的目录在/etc/haproxy
四、 HAProxy配置
创建配置文件
#vi haproxy.cfg
2. 在创建的haproxy.cfg文件中加入如下内容
global log 127.0.0.1 local0 info #[err warning info debug] #local0 是日志设备,必须为如下24种标准syslog设备的一种: #kern user mail daemon auth syslog lpr news uucp cron auth2 ftp ntp audit alert cron2 local0 local1 local2 local3 local4 local5 local6 local7 #在/etc/syslog.conf文件中定义的是local0,这里也是用local0 chroot /var/lib/haproxy maxconn 4096 user haproxy group haproxy daemon nbproc 1 pidfile /var/run/haproxy.pid defaults log global mode http retries 3 option httplog option redispatch option forwardfor option abortonclose maxconn 2000 contimeout 5000 clitimeout 30000 srvtimeout 30000 timeout check 2000 #一些参数值为时间,比如说timeout。时间值通常单位为毫秒(ms),但是也可以通过加#后缀,来使用其他的单位。 #- us : microseconds. 1 microsecond = 1/1000000 second #- ms : milliseconds. 1 millisecond = 1/1000 second. This is the default. #- s : seconds. 1s = 1000ms #- m : minutes. 1m = 60s = 60000ms #- h : hours. 1h = 60m = 3600s = 3600000ms #- d : days. 1d = 24h = 1440m = 86400s = 86400000ms errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http listen admin_stats bind 0.0.0.0:1080 mode http stats uri /admin?stats stats realm Gemini\ Haproxy stats auth admin:admin stats auth admin1:admin1 stats refresh 5s stats hide-version frontend web_in mode http maxconn 4096 bind 0.0.0.0:80 acl is_a hdr_beg(host) -i www.test.com use_backend a_server if is_a default_backend default backend a_server mode http balance roundrobin cookie SERVERID stats hide-version option httpclose option redispatch server app_1 192.168.100.191:80 cookie 1 check inter 1500 rise 3 fall 3 weight 1 server app_2 192.168.100.192:80 cookie 2 check inter 1500 rise 3 fall 3 weight 1 backend default mode http balance roundrobin cookie JSESSIONID prefix stats hide-version option httpclose server app 192.168.100.115:8090 cookie 1 check inter 1500 rise 3 fall 3 weight 1 server app 192.168.100.116:8090 cookie 2 check inter 1500 rise 3 fall 3 weight 1 |
五、 安装rsyslog
#apt-get install rsyslog
安装完成之后,配置rsyslog
#vi /etc/rsyslog.d/haproxy.conf
加入以下内容:
$ModLoad imudp |
保存,重启rsyslogd.
六、 HAProxy运行
1. 启动服务:
# /usr/local/haproxy/sbin/haproxy -f/usr/local/haproxy/conf/haproxy.cfg
2. 重启服务:
#/usr/local/haproxy/sbin/haproxy -f/usr/local/haproxy/conf/haproxy.cfg -st `cat/usr/local/haproxy/logs/haproxy.pid`
3. 停止服务:
# killall haproxy
4.创建启动/停止脚本
为了方便以后启动或停止,所以编写一个启动脚本,如果你认为现在的启动脚本已经够方便了,这步可以省略
脚本下载地址
七、 HAProxy日志配置
1. HAProxy可以收集本机及其他后端服务器日志,但是需要在HAProxy和操作系统上作一些配置。
2. 使用root账户首先修改/etc/sysconfig/syslog文件,将SYSLOGD_OPTIONS="-m0”修改为SYSLOGD_OPTIONS="-m 0 -r -x",支持收集远程服务器日志。
3. 然后修改/etc/syslog.conf,增加如下语句:
local0.* /usr/local/haproxy/logs/haproxy.log
//haproxy.log地址代表了需要存储日志的地址,其中local0这个级别要和haproxy.cfg配置的log级别一样
4. 执行service syslog restart,重新启动系统日志服务
5. 更改日志文件用户
chown admin:admin /usr/local/haproxy/logs/haproxy.log
转载于:https://blog.51cto.com/showing/1842075
haproxy之安装与配置详解相关推荐
- keepalived介绍、安装及配置详解
文章目录 keepalived简介 keeplived和LVS关系 VRRP工作原理 keepalived体系结构及工作原理 keepalived安装 keepalived配置详解 keepalive ...
- Nagios远程监控软件的安装与配置详解
Nagios远程监控软件的安装与配置详解 作者:redhat_hu Nagios是一款功能强大的网络监视工具,它可以有效的监控windows.linux.unix主机状态以及路由器交换机的网络设置,打 ...
- Julia的安装与配置详解(包含在Ubuntu 18.04和Windows 10系统上Julia的安装)
Julia的安装与配置详解((包含在Ubuntu 18.04和Windows 10系统上Julia的安装) Julia的安装 使用二进制文件安装Julia 在Ubuntu上安装Julia 在Windo ...
- gulp的安装和配置详解
gulp的安装和配置详解 1.安装node.js 先下载一个node.js安装包. 下载完成后双击即可. 打开cmd,命令行输入node -v,回车输出nodejs版本号,表示安装成功. 命令行输入n ...
- node.js卸载、安装、配置详解
node.js卸载.安装.配置详解 一. node.js卸载 二.下载安装 2.1 下载 2.2 安装 2.2.1 选择msi安装 2.2.2 选择zip安装 三.配置 3.1 环境变量配置 3.2 ...
- Gradle安装和配置详解
Gradle安装和配置详解 gradle是基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,也提供了很多第三方插件.在Java Web项目中通常会用到 java.war. ...
- Linux中Nginx安装与配置详解及常见问题
3 Nginx安装 3.1 安装前的准备 1)准备 pcre-8.12.tar.gz.该文件为正则表达式库.让nginx支持rewrite需要安装这个库. 2) 准备 nginx-1. ...
- Tomcat安装及配置详解
转载:http://www.ttlsa.com/tomcat/tomcat-install-and-configure/ 一,Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用 ...
- 01 Redis安装、配置详解、数据备份与恢复
缓存简介 简介 缓存是为了调节速度不一致的两个或者多个不同的物质的速度,在中间对速度访问较快的一方起到一个加速访问速度较慢的一方的作用,比如cpu的一级,二级缓存是为了保存cpu最近经常访问的数据,内 ...
- uWSGI的安装及配置详解
uWSGI是一个Python Web服务器,它实现了WSGI协议.uwsgi.http等协议,常在部署Django或Flask开发的Python Web项目时使用,作为连接Nginx与应用程序之间的桥 ...
最新文章
- Lync 小技巧-24-PDF 加密文件-转-Word-操作手册
- ubuntu 安装deb_Ubuntu不完全小坑指南
- 1. 列维过程的混沌及可料表示(1)
- centos7.8中源码编译安装redis
- python3列表_Python3列表
- nessuss中文使用手册
- Navicat 连接Mysql 报错1251
- 怎么查看表用了那个序列_知识分享008:怎样在手机上用萤石云查看海康威视监控录像...
- Android 中的BroadCastReceiver【转】
- python中iskeydown什么函数_isKeyDown不能在Java中工作
- ubuntu11.04中nautilus(文件管理器)查看FTP乱码的解决办法
- 一点关于MD5计算的封装
- 在MyEclipse中使用javadoc导出API文档详解
- SQL SERVER 查找某个字符在字符串中出现的次数
- WAP的技术、运动和现状(转)
- 关于三段式状态机第三段是组合逻辑还是时序逻辑的问题?
- 前端加载shapefile数据
- Unity SRP初识笔记
- matlab 10为底指数,matlab指数函数
- OpenWrt TL-WR841N WAN口down问题
热门文章
- 键盘上所有键位的ascii值
- Bootstrap FileInput.js + springmvc uploadFile
- Ubuntu10.04下载并编译Android4.3源代码
- 发布一个平滑进度条控件
- Flask最强攻略 - 跟DragonFire学Flask - 第十六篇 Flask-Migrate
- C#之四十二 C# 读写文本文件乱码解决方案
- ibatis简例1-用ibator插件自动生成sqlmap
- math ceil函数python_Python3 ceil() 函数
- Kafka 设计与原理详解(一)
- Python数据分析(二): Numpy技巧 (3/4)