HAProxy编译安装

£可爱£侵袭症+ 提交于 2019-11-28 07:23:51

HAProxy2.0.4编译安装

LUA脚本语言:

  1. 下载
curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz
  1. 安装环境
yum -y install libtermcap-devel ncurses-devel libevent-devel readline-devel gcc gcc-c++
  1. 安装
cd /usr/local/src
tar xvf ~/lua-5.3.5.tar.gz
cd lua-5.3.5
make linux test
  1. 查看版本
./src/lua -v

HAProxy

wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.4.tar.gz

#编译环境
yum -y install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools vim iotop bc zip unzip zlib-devel lrzsz tree screen lsof tcpdump wget ntpdate
  1. 编译
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
  1. 编译安装
make install PREFIX=/usr/local/haproxy
  1. 执行程序复制到sbin下
cp /usr/local/haproxy/sbin/haproxy /usr/sbin/
  1. 查看版本
haproxy -v
  1. 启动脚本
cat /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
  1. 配置文件
[root]# mkdir /etc/haproxy
[root]# cat /etc/haproxy/haproxy.cfg
global
    maxconn 100000
    chroot /usr/local/haproxy
    stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
    uid 99
    gid 99
    daemon
    #nbproc 4
    #cpu-map 1 0
    #cpu-map 2 1
    #cpu-map 3 2
    #cpu-map 4 3
    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 enable
    log global
    stats uri /haproxy-status
    stats auth haadmin:q1w2e3r4ys

listen web_port
    bind 192.168.99.118:80
    mode http  
    log global  
    server web1 192.168.99.119:80 check inter 3000 fall 2 rise 5  
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!