HAProxy安装文档
HAProxy安装文档
一、环境说明
系统环境:CentOS Linux release 7.2.1511 (Core)
系统内核:3.10.0-327.el7.x86_64
软件:haproxy-1.5.8.tar.gz
安装方式:源码编译安装
安装位置:/usr/local/haproxy
官方文档: http://cbonte.github.io/haproxy-dconv/1.5/configuration.html
二、安装配置
1.创建用户
$ sudo useradd -M -s /sbin/nologin www
2.安装
$ sudo wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.8.tar.gz
$ sudo tar zxf haproxy-1.5.8.tar.gz -C /usr/local/
$ sudo cd /usr/local/haproxy-1.5.8/
$ sudo make TARGET=linux2628 ARCH=X86_64 PREFIX=/usr/local/haproxy
$ sudo make install PREFIX=/usr/local/haproxy
执行过程:
install -d /usr/local/haproxy/sbin
install haproxy /usr/local/haproxy/sbin
install haproxy-systemd-wrapper /usr/local/haproxy/sbin
install -d /usr/local/haproxy/share/man/man1
install -m 644 doc/haproxy.1 /usr/local/haproxy/share/man/man1
install -d /usr/local/haproxy/doc/haproxy
for x in configuration architecture haproxy-en haproxy-fr; do \
install -m 644 doc/$x.txt /usr/local/haproxy/doc/haproxy ; \
done
And on a recent Linux >= 2.6.28 with SSL and ZLIB support :
$ make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1
3.创建配置文件和启动文件
$ sudo mkdir -pv /usr/local/haproxy/conf
$ sudo cp /usr/local/haproxy-1.5.8/examples/haproxy.cfg /usr/local/haproxy/conf/
$ sudo cp /usr/local/haproxy-1.5.8/examples/haproxy.init /etc/init.d/haproxy
$ sudo sed -i 's#etc/$BASENAME#usr/local/haproxy/conf#g' /etc/init.d/haproxy
$ sudo chmod +x /etc/init.d/haproxy
$ sudo ln -sv /usr/local/haproxy/sbin/haproxy /usr/sbin/
三、编辑配置文件
vim /usr/local/haproxy/conf/haproxy.cfg
global
log 127.0.0.1 local0
maxconn 65535 ##最大连接数
user www
group www
daemon
nbproc 1
pidfile /var/run/haproxy.pid
defaults
mode http
log global
option httpclose
option httplog
option dontlognull
# option http-server-close
# option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 65535
listen rabbitmq_cluster 0.0.0.0:56720
mode tcp
balance roundrobin
#option httpclose
option tcplog
option clitcpka
server rqslave1 tst-service-test1:5672 check inter 2000 rise 2 fall 3
server rqslave2 tst-service-test2:5672 check inter 2000 rise 2 fall 3
##服务器定义(check指健康状况检查,inter 2000指检测频率;rise 2指从离线状态转换至正常状态需要成功检查的次数;fall 3指失败3次即认为服务器不可用)
frontend mq.test.dev
mode http
option httplog
option http-keep-alive
bind 0.0.0.0:80
default_backend mq-backend
backend mq-backend
server node1 192.168.199.182:15672 check inter 2000 rise 2 fall 3
server node2 192.168.199.183:15672 check inter 2000 rise 2 fall 3
server node3 192.168.199.200:15672 check inter 2000 rise 2 fall 3
listen admin_stats ##监控页面设置
mode http ##http的7层模式
bind 0.0.0.0:1080 #监听端口
option httplog #采用http日志格式
stats refresh 30s #统计页面自动刷新时间
stats uri /stats #统计页面url
stats realm Haproxy Manager #统计页面密码框上提示文本
stats auth admin:admin #统计页面用户名和密码设置
#stats hide-version #隐藏统计页面上HAProxy的版本信息
四、启动HAproxy
$ sudo /etc/init.d/haproxy start
或者
$ sudo systemctl start haproxy.service
或者
$ sudo /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
登录状态页面:
在浏览器输入 http:IP:1080/stats

五、配置日志
haproxy的日志是结合系统的rsyslog程序来生成的。
1.配置rsyslog
修改文件:/etc/rsyslog.conf
增加一行:
$IncludeConfig /etc/rsyslog.d/*.conf
取消下面两行的注释,开启514端口
$ModLoad imudp
$UDPServerRun 514
2.创建haprxoy日志配置
配置文件为:/etc/rsyslog.d/haproxy.conf
# vim /etc/rsyslog.d/haproxy.conf
local0.* /var/log/haproxy/haproxy.log
3.开启远程日志
配置文件为:etc/sysconfig/rsyslog
# vim etc/sysconfig/rsyslog
把 SYSLOGD_OPTIONS="" 修改为: SYSLOGD_OPTIONS="-c 2 -m 0 -r -x"
解释说明:
-r:打开接受外来日志消息的功能,其监控514 UDP端口;
-x:关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦;
-m:修改syslog的内部mark消息写入间隔时间(0为关闭),例如240为每隔240分钟写入一次"--MARK--"信息;
-h:默认情况下,syslog不会发送从远端接受过来的消息到其他主机,而使用该选项,则把该开关打开
4.haproxy开启日志配置
最简单的就是这个了,
当然也可以配置在global,frontend,listen 分别记录各自的日志
日志级别分为:emerg 、alert 、crit 、err、 warning 、notice 、info 、debug
global
log 127.0.0.1:514 local0 err
5.重启rsyslog 和 haproxy
# systemctl restart rsyslog.service
# systemctl restart haproxy.service
6.举例
查看haproxy关于日志的配置
global
log 127.0.0.1:514 local0 notice
listen rabbitmq_cluster
mode tcp
option tcplog
log 127.0.0.1:514 local1 info
frontend mq.xxx.dev
mode http
option httplog
log 127.0.0.1:514 local2 info
查看/etc/rsyslog.d/haproxy.conf
$ sudo cat /etc/rsyslog.d/haproxy.conf
#Haproxy
local0.* /var/log/haproxy/haproxy.log
local1.* /var/log/haproxy/haproxy.mq_cluster.log
local2.* /var/log/haproxy/haproxy.mq_admin.log
#end /etc/rsyslog.conf
这样配置就会生成3个日志文
件haproxy.log,haproxy.mq_cluster.log,haproxy.mq_admin.log 前提是有日志生成才行。
六、遇到问题
问题1:
localhost haproxy[14616]: /etc/rc.d/init.d/haproxy: 第 26 行:[: =: 期待一元表达式

解决方法:
方法一:
把原句子修改为:
[[ ${NETWORKING} = "no" ]] && exit 0
方法二:
把原句子修改为:
[ "${NETWORKING}"x = "no"x ] && exit 0
参考:
http://blog.csdn.net/goodlixueyong/article/details/6564591
问题2:
src/ssl_sock.c:41:25: fatal error: openssl/ssl.h: No such file or directory

解决方法:
$ sudo yum install openssl-devel
参考文档
http://www.haproxy.org/
http://www.haproxy.org/download/1.8/doc/configuration.txt
http://cbonte.github.io/haproxy-dconv/1.8/configuration.html
下载地址
http://www.haproxy.org/download/
转载请注明出处,运维特工 www.unixfbi.com
HAProxy安装文档的更多相关文章
- ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报 分类: Oracle RA ...
- Oracle 11g 单实例安装文档
这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...
- linkedin开源的kafka-monitor安装文档
linkedin开源的kafka-monitor安装文档 linkedin 开源的kafka-monitor的安装使用可以参考官方的readme:流程介绍的已经比较清楚,但是还是有一些地方需要修正.让 ...
- _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
- oracle database 12c R1 安装文档
INSTALLORACLE DATABASE 12C 完整的安装文档下载地址: http://download.csdn.net/detail/royjj/5665869 OS:ORALCE LINU ...
- Oracle 12c RAC 静默安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- Oracle 12c RAC 安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- Azkaban使用安装文档
Azkaban使用安装文档 Azkaban简介 Azkaban的是什么 Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程.Az ...
- Linux rhel7 下MySQL5.7.18详细安装文档
Linux rhel7 下MySQL5.7.18详细安装文档 本文安装MySQL5.7使用的是vm虚拟机rhel7操作系统 ,ftp文件传输是FileZilla3.27,远程连接xssh5.0 1 登 ...
随机推荐
- [C]成员运算符"."和间接成员运算符"->"浅析
成员运算符: . 成员运算符一般和结构或者联合名一起使用,指定结构或者联合中的某个成员. 举个栗子: 如果Ronz是一个结构的名称,linux是这个结构模板指定的一个成员名. struct{ //匿名 ...
- Swift_语法的熟悉
Swift_语法的熟悉 oc与swift区变 文件区别oc有实现文件以及声明文件等,在swift中实现机声明类似文件总归结一个即可 1. 常量与变量的初始化 常量 关键字"let" ...
- Sqlite数据库添加数据以及查询数据方法
只是两个添加查询方法而已,怕时间长不用忘了
- main方法快速编辑日历
public static void main(String[] args) { Scanner input=new Scanner (System.in); System.out.println(& ...
- yyt
红颜迤逦隔云梯, 相思萦系解花语. 我有相思千般意, 百磨不灭铭肝肠.
- 201521123032 《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 1. clone方法 1.1 Object ...
- 201521123106 《Java程序设计》第6周学习总结
1. 本章学习总结 2. 书面作业 Q1. clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 答:在同一个包里或者 ...
- 201521123039 《java程序设计》第十一周学习总结
1. 本周学习总结 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问,还有 ...
- [js高手之路]Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件
接着这篇文章[js高手之路]Node.js+jade抓取博客所有文章生成静态html文件继续,在这篇文章中实现了采集与静态文件的生成,在实际的采集项目中, 应该是先入库再选择性的生成静态文件.那么我选 ...
- Hibernate第八篇【懒加载】
前言 前面在使用Hibernate的时候就提及过了懒加载,但没有好好地说明具体的说明究竟是怎么回事-本博文主要讲解懒加载 什么是拦截器以及为什么要使用懒加载? 懒加载就是当使用数据的时候才去获取数据. ...