VPS测评 VPS推荐 VPS优惠
Linux运维

centos7编译安装HAProxy教程

编译安装HAProxy 2.0 LTS版本,官方源码包下载地址:http://www.haproxy.org/download/

系统:Centos 7.6


解决lua环境

LUA源码下载地址: https://www.lua.org/ftp/

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

应用场景

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

由于CentOS7 之前版本自带的lua版本比较低并不符合HAProxy要求的lua最低版本(5.3)的要求,因此需要编译安装较新版本的lua环境,然后才能编译安装HAProxy,过程如下:

查看现有的lua版本,如果版本太旧需要先更新lua

lua -v

安装基础命令及编译依赖环境

yum install gcc readline-devel

下载lua-5.4.4

cd /usr/local/src
wget --no-check-certificate https://www.lua.org/ftp/lua-5.4.4.tar.gz

解包

tar xvf lua-5.4.4.tar.gz 

开始编译

make linux test

查看编译安装的版本

src/lua -v
mv /usr/bin/lua /usr/bin/lua.old

把旧版本移走,换成新的版本,我这里用了软连接

mv /usr/bin/lua /usr/bin/lua.old
ln -s /usr/local/src/lua-5.4.4/src/lua /usr/bin/lua

编译安装HAProxy

创建用户

useradd -r -s /sbin/nologin haproxy

安装依赖

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

下载HAProxy源码包到/usr/local/src/(国内的VPS有可能无法下载,可以找台其他国家的VPS下了scp传过去)

cd /usr/local/src
wget http://www.haproxy.org/download/2.6/src/haproxy-2.6.6.tar.gz

解压缩后进入文件夹

tar xvf haproxy-2.6.6.tar.gz
cd haproxy-2.6.6/

查看安装方法,由于已经有Makefile文件了所以不用执行 “./configure”命令

ll Makefile 
cat README 

编译安装

make -j $(nproc) TARGET=linux-glibc USE_OPENSSL=1 USE_PCRE=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.4.4/src LUA_LIB=/usr/local/src/lua-5.4.4/src
make install PREFIX=/apps/haproxy

查看编辑安装后的文件

tree /apps/haproxy

创建软链接

ln -s /apps/haproxy/sbin/haproxy /usr/bin/haproxy

验证安装的版本

haproxy -v

查看帮助

haproxy -V

创建service文件

编辑/usr/lib/systemd/system/haproxy.service

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

[Service]
ExecStartPre=/usr/bin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/bin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

配置文件

创建配置文件目录

mkdir /etc/haproxy

创建socket文件目录

mkdir /var/lib/haproxy

编辑/etc/haproxy/haproxy.cfg (内容根据实际需求配置这里仅供参考)

global
  maxconn 100000
  chroot /apps/haproxy
  stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
  user haproxy
  group haproxy
  daemon
  pidfile /var/lib/haproxy/haproxy.pid

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 enable
  log global
  stats uri /haproxy-status
  stats auth haadmin:123456

listen web_port
  bind :80 
  mode http
  log global
  server web1 131.186.22.232:80 check inter 3000 fall 2 rise 5
  server web2 146.56.38.151:80 check inter 3000 fall 2 rise 5

启动HAProxy

检查配置文件语法

[22:31:47 root@VM-4-3-centos ~]#haproxy -f /etc/haproxy/haproxy.cfg -c
Configuration file is valid

加载service文件,启动服务

systemctl daemon-reload
systemctl start haproxy

最后用浏览器查看haproxy的状态页面

浏览器访问:

http://服务器IP:9999/haproxy-status
看到这张图说明安装成功了
未经允许不得转载:青蛙主机 » centos7编译安装HAProxy教程

VPS相关常用工具

PING测试工具自用毛子接码站