HAProxy安装

HAProxy安装
1. apt 安装

ubuntu可以使用apt 安装,默认版本较低

root@z1:~# apt  install haproxy

root@z1:~# haproxy -v
HA-Proxy version 1.8.8-1ubuntu0.9 2019/12/02
Copyright 2000-2018 Willy Tarreau <willy@haproxy.org>

安装较新版本, 查看官网文档

官方文档

root@z1:~# apt-get install software-properties-common
root@z1:~# add-apt-repository ppa:vbernat/haproxy-2.0
root@z1:~# apt update
root@z1:~# apt-cache madison haproxy
root@z1:~# apt install haproxy=2.0.13-1ppa1~bionic
root@z1:~# haproxy -v
HA-Proxy version 2.0.13-1ppa1~bionic 2020/02/15 - https://haproxy.org/

通过包管理工具安装较新的版本,使用第三方源

记住网址 https://pkgs.org/ ,直接收搜索即可,展开下面的操作系统就可以看见了

mark

2. 编译安装(ubuntu)

编译安装HAProxy 2.0 LTS版本, 首页的那个表就可以下载 更多源码包下载地址:http://www.haproxy.org/download/

编译之前先看一下readme 和 INTSTALL 里面介绍了编译的环境要求和如何安装

root@z1:/usr/local/src# tar xf haproxy-2.0.13.tar.gz 
root@z1:/usr/local/src# cat haproxy-2.0.13/INSTALL 

GNU make >= 3.80

GCC >= 3.4

On debian or Ubuntu 或许下面两条命令用的到

sudo apt-get update
sudo apt-get install build-essential

Dependencies

-lua

2.1 解决lua环境

​ HAProxy 支持基于lua实现功能扩展,lua是一种小巧的脚本语言,于1993年由巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组开发,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua 应用场景
游戏开发
独立应用脚本
Web 应用脚本
扩展和数据库插件,如MySQL Proxy
安全系统,如入侵检测系统

lua 编译官方文档

curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar zxf lua-5.3.5.tar.gz
cd lua-5.3.5
make linux test

如果遇到下面这个错误 ,缺包

lua.c:82:10: fatal error: readline/readline.h: No such file or directory
 #include <readline/readline.h>
apt  install libreadline-dev

验证:

root@z1:/usr/local/src/lua-5.3.5/src# ./lua -v
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
2.2 编译安装haproxy

准备编译环境

apt install make gcc build-essential libssl-dev zlib1g-dev libpcre3 libpcre3-dev libsystemd-dev libreadline-dev -y

make

#HAProxy 1.8及1.9版本编译参数:
make ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy 
#HAProxy 2.0编译参数:
# make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/ PREFIX=/usr/local/haproxy

make install

make install PREFIX=/usr/local/haproxy
2.3 验证haproxy 版本
root@z1:~# /usr/local/haproxy/sbin/haproxy -v
HA-Proxy version 2.0.13 2020/02/13 - https://haproxy.org/
2.4:HAProxy启动脚本:
root@z1:~# ln -sv /usr/local/haproxy/sbin/haproxy   /usr/sbin/haproxy
'/usr/sbin/haproxy' -> '/usr/local/haproxy/sbin/haproxy'
root@z1:~# cat /lib/systemd/system/haproxy.service 

[Unit]
Description=HAProxy Load Balancer
After=network.target rsyslog.service

[Service]
EnvironmentFile=-/etc/default/haproxy
EnvironmentFile=-/etc/sysconfig/haproxy
Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/var/lib/haproxy/haproxy.pid" "EXTRAOPTS=-S /run/haproxy-master.sock"
ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS
ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $EXTRAOPTS
ExecReload=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
Restart=always
SuccessExitStatus=143
Type=notify

[Install]
WantedBy=multi-user.target

注意: execpre 和 execstart添加 -f /etc/haproxy/conf ,实现include 功能 ,可以分离多个配置文件

2.5 配置文件
root@z1:~# cat /etc/haproxy/haproxy.cfg 
global
	maxconn 100000
	chroot /usr/local/haproxy
	stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
	uid 65534
	gid 65534
	daemon
	pidfile /var/lib/haproxy/haproxy.pid
	log 127.0.0.1 local3 info

defaults
	option http-keep-alive
	option forwardfor
	maxconn 100000
	mode http
	timeout connect 300000ms
	timeout client 300000ms
	timeout server 300000ms

listen stats
 	mode http
	bind 0.0.0.0:9999
	stats uri /status
	stats auth    admin:123456
	stats realm "Welcome to the haproxy load balancer status page "
	stats admin if TRUE
	stats refresh 5s
2.5 启动haproxy proxy
root@z1:~#  mkdir /var/lib/haproxy
root@z1:~#  chown 65534.65534 /var/lib/haproxy/  -R  (使用nobody 登录)
root@z1:~# systemctl enable  haproxy
root@z1:~# systemctl start  haproxy
2.6 验证haproxy状态

已经运行

mark

状态页也可以访问

mark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值