HAProxy 入门使用、安装

HAProxy 是一个提供高可用、负载均衡,以及基于TCP和HTTP的代理程序。

HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接

环境

centos 7.0 3.10.0-514.el7.x86_64

haproxy 1.7.9

haproxy 编译依赖:gcc、make、autoconf、openssl

编译安装

编译依赖安装

yum install gcc pcre pcre-devel openssl openssl-devel -y

编译安装

# PREFIX参数指定安装的目录
make TARGET=linux2628 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

安装完成后检查版本

/usr/local/haproxy/sbin/haproxy -v

配置

创建软连接,因为haproxy.init 脚本默认会到/usr/sbin目录下找haproxy

ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy

进入编译的目录下的example目录,将haproxy.init文件复制到/etc/init.d/

cp haproxy.init /etc/init.d/haproxy

在赋予/etc/init.d/haproxy 755权限

chmod 755 haproxy

创建配置文件

在/etc/下创建haproxy目录

mkdir /etc/harpoxy

在配置目录下创建文件,haproxy.cfg

配置内容:

        #全局配置
	global
		#设置日志
		log 127.0.0.1 local3 info
		chroot /usr/local/haproxy
		#用户与用户组
		user haproxy
		group haproxy
		#守护进程启动
		daemon
		#最大连接数
		maxconn 4000

	#默认配置
	defaults
		log global
		mode http
		option httplog
		option dontlognull
		timeout connect 5000
		timeout client 50000
		timeout server 50000

	#前端配置,http_front名称可自定义
	frontend http_front
		# 发起http请求道80端口,会被转发到设置的ip及端口
		bind *:80
		#haproxy的状态管理页面,通过/haproxy?stats来访问
		stats uri /haproxy?stats
		default_backend http_back

	#后端配置,http_back名称可自定义
	backend http_back
		#负载均衡方式
		#source 根据请求源IP
		#static-rr 根据权重
		#leastconn 最少连接者先处理
		#uri 根据请求的uri
		#url_param 根据请求的url参数
		#rdp-cookie 据据cookie(name)来锁定并哈希每一次请求
		#hdr(name) 根据HTTP请求头来锁定每一次HTTP请求
		#roundrobin 轮询方式
		balance roundrobin
		#设置健康检查页面
		option httpchk GET /index.html
		#传递客户端真实IP
		option forwardfor header X-Forwarded-For
		# inter 2000 健康检查时间间隔2秒
		# rise 3 检测多少次才认为是正常的
		# fall 3 失败多少次才认为是不可用的
		# weight 30 权重
		# 需要转发的ip及端口
		server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30
		server node2 192.168.179.131:8082 check inter 2000 rise 3 fall 3 weight 30

配置haproxy日志,haproxy默认是不记录日志,需要借助rsyslog来记录

方法一:直接在/etc/rsyslog.conf中配置

vim /etc/rsyslog.conf
取消注释#
$ModLoad imudp
$UDPServerRun 514
添加
local3.* /var/log/haproxy.log
重启rsyslog
systemctl restart rsyslog

这样配置会haproxy的日志还会记录到/var/log/messages中

因此需要在*.info;mail.none;authpriv.none;cron.none后面追加local3.none

重启rsyslog

方法二:在/etc/rsyslog.d/下创建日志配置

从/etc/rsyslog.conf中的如下配置,可以看出rsyslog会读取/etc/rsyslog.d/目录下的所有以.conf结尾的配置文件

# Include all config files in /etc/rsyslog.d/

$IncludeConfig /etc/rsyslog.d/*.conf

因此在/etc/rsyslog.d/下创建

haproxy.conf配置

#配置haproxy的rsyslog日志
$ModLoad imudp
$UDPServerRun 514

local3.* /var/log/haproxy.log

为了不需要将日志写入到/var/log/messages中,还需要和方法一种配置一样在/etc/rsyslog.conf中

*.info;mail.none;authpriv.none;cron.none后面追加local3.none

重启rsyslog即可

启动服务

注意如果系统开启了防火墙需要打开对应的端口

第一次启动haproxy先使用

service命令,以后就可以使用systemctl命令来操作

service haproxy start

systemctl start haproxy



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值