一、HAProxy简介
官网:https://www.haproxy.org/
下载地址:https://www.haproxy.org/#down
-
HAProxy提供
高可用性、负载均衡
以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 -
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。
-
HAProxy运行在当前的硬件上,
完全可以支持数以万计的并发连接
。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 -
HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数
。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。 -
说明: 事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。
-
此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。
提示:以下是本篇文章正文内容,下面案例可供参考
二、HAProxy安装
1.1 、2种下载方式
第一种:离线下载安装包,然后上传
选择个版本下载
第二种:在linux使用wegt命令下载
版本号自己选择
# 安装wget
yum -y install wget
# 下载haproxy
wget http://fossies.org/linux/misc/haproxy-1.6.9.tar.gz
1.2、解压编码安装
-
软件放在opt目录下
-
解压到/usr/local/src
tar -zxvf haproxy-2.4.15.tar.gz -C /usr/local/src
-
切换到/usr/local/src
cd /usr/local/src/haproxy-2.4.15/
-
查看linux内核版本
uname -r
-
安装gcc
#安装 sudo yum -y install gcc gcc-c++ libstdc++-devel #查看版本 gcc -v
-
编译-make
PREFIX=/usr/local/haproxy为haprpxy安装路径。
# 310是版本,x86_64是系统位数 make TARGET=linux310 PREFIX=/usr/local/haproxy ARCH=x86_64
-
安装
PREFIX=/usr/local/haproxy为haprpxy安装路径。
make install PREFIX=/usr/local/haproxy
-
创建数据目录放pid文件
mkdir -p /usr/data/haproxy/
-
编写配置文件
vim /usr/local/haproxy/haproxy.conf
内容:
#全局配置 global log 127.0.0.1 local0 #log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 #程序的目录 chroot /usr/local/haproxy #指定进程pid的文件 pidfile /usr/data/haproxy/haproxy.pid uid 99 gid 99 daemon #debug #quiet defaults log global mode tcp option abortonclose option redispatch retries 3 maxconn 2000 timeout connect 5000 timeout client 50000 timeout server 50000 #监听 listen proxy_status #代理的端口号48066,自己写的--类似nignx的端口 bind :48066 mode tcp #需要负均衡的服务 balance roundrobin server mycat_1 192.168.56.100:8066 check inter 10s server mycat_2 192.168.56.101:8066 check inter 10s #后台管理的配置 frontend admin_stats #后台管理端口7777 bind :7777 mode http stats enable option httplog maxconn 10 stats refresh 30s #地址ip:端口/admin stats uri /admin #用户名:admin 密码:123456 stats auth admin:123456 stats hide-version stats admin if TRUE
1.3 、启动
启动HAProxy
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.conf
查看HAProxy进程
ps -ef|grep haproxy
如图:
访问:ip:端口/admin
账号密码:admin 123456 配置文件写的
如图: