CentOS7 源码安装HAProxy

Posted 刘元涛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 源码安装HAProxy相关的知识,希望对你有一定的参考价值。

HAProxy的版本为2.4.0,由于网络的原因,这里准备了下载好的版本

1.安装编译依赖

yum install -y  pcre-devel bzip2-devel gcc gcc-c++ make

2.解压

tar zxvf haproxy-2.4.0.tar.gz -C /usr/local

3.编译及安装

cd /usr/local/haproxy
make TARGET=linux31  PREFIX=/usr/local/haproxy     //标识64为系统
make install PREFIX=/usr/local/haproxy           --安装路径

4.创建用户及用户组

groupadd -r -g 149 haproxy
useradd -g haproxy -r -s /sbin/nologin -u 149  haproxy    --创建一个不可登录系统,且没有家目录的用户

5.添加软连接

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

6.注册到系统服务 

vim /etc/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target

[Service]
ExecStartPre=/usr/local/haproxy/sbin -f /etc/haproxy/haproxy.cfg  -c -q
ExecStart=/usr/local/haproxy/sbin -Ws -f /etc/haproxy/haproxy.cfg  -p /run/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

systemctl daemon-reload

7.配置文件

mkdir /etc/haproxy
vim /etc/haproxy/haproxy.cfg
global 
    # 配置全局日志记录,local0为日志设备,notice为输出的日志级别,表示使用本地(127.0.0.1)机器上的rsyslog服务中的local0设备记录日志等级为notice的日志.
    log 127.0.0.1   local0  info
    # 可以接收的最大并发连接数
    maxconn    5120
    # 工作目录
    chroot    /usr/local/haproxy
    user    haproxy
    group    haproxy
    pidfile    /var/run/haproxy.pid
    # 创建1个进程进入deamon模式运行,以后台形式运行harpoxy
    daemon
    nbproc    20
    
 
#---------------------------------------------------------------------
#common defaults that all the 'listen' and 'backend' sections will
#use if not designated in their block
#---------------------------------------------------------------------
defaults
    # 所处理的类别,tcp是四层,http是七层,health只会返回OK,若是混合模式则mode不需要设置
    mode    tcp
    # 定义日志,采用全局定义
    log    global
    option    dontlognull
    option    tcplog
    # serverId对应的服务器挂掉后,强制定向到其他健康的服务器
    option    redispatch
    maxconn    2000
    # 3次连接失败就认为服务不可用
    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
    balance roundrobin

添加完配置文件后,可以测试一下是否有写错的

haproxy -c -f /etc/haproxy/haproxy.cfg

启动服务

systemctl start haproxy

 

以上是关于CentOS7 源码安装HAProxy的主要内容,如果未能解决你的问题,请参考以下文章

Centos7 haproxy1.7 安装

centos7下haproxy1.7的使用与配置

haproxy

CentOS7上部署Haproxy+Nginx实现Web群集

CentOS7—HAProxy安装与配置

centos7(Linux)部署nginx+HAProxy+nfs