• HAProxy编译安装


    CentOS 编译安装HAProxy

    • haproxy-2.0.11
    
    #编译组件以及依赖准备
    yum install libtermcap-devel ncurses-devel libevent-devel readline-devel gcc gcc-c++ glibc  glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop zip  unzip  zlib-devel screen lsof wget  ntpdate  -y;
    
    # lua 依赖包准备
    cd /data ;
    wget http://www.lua.org/ftp/lua-5.3.5.tar.gz ;
    tar xf lua-5.3.5.tar.gz ;
    cd  lua-5.3.5;
    make linux test ;
    
    #解压编译HAProxy
    cd /data ;
    wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.11.tar.gz ;
    tar xf haproxy-2.0.11.tar.gz ;
    cd haproxy-2.0.11/;
    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=/data/lua-5.3.5/src/ LUA_LIB=/data/lua-5.3.5/src/ PREFIX=/data/haproxy;
    make install PREFIX=/data/haproxy;
    
    #编写启动文件
    vim /usr/lib/systemd/system/haproxy.service
    
    [Unit]
    Description=HAProxy Load Balancer
    After=syslog.target network.target
    [Service]
    ExecStartPre=/data/haproxy/sbin/haproxy -f /data/haproxy/conf/haproxy.cfg -c -q
    ExecStart=/data/haproxy/sbin/haproxy -Ws -f /data/haproxy/conf/haproxy.cfg -p /data/haproxy/pid/haproxy.pid
    ExecReload=/bin/kill -USR2 $MAINPID
    [Install]
    WantedBy=multi-user.target
    
    #保存后更新
    systemctl daemon-reload ;
    
    # 编写配置haproxy.cfg文件
    mkdir /data/conf;
    mkdir /data/pid;
    vim /data/haproxy/conf/haproxy.cfg;
    
    global
    maxconn 100000
    chroot /data/haproxy
    stats socket /data/haproxy/pid/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 /data/haproxy/pid/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.47.134:80
     mode http
     log global
    server web1 192.168.47.125:80 check inter 3000 fall 2 rise 5
    server web2 192.168.47.133:80 check inter 3000 fall 2 rise 5
    
    # 保存后给pid文件夹创建pid的权限
    chown 99.99 /data/haproxy/pid
    
    #负载均衡服务器下载并启动web服务
    192.168.47.125/192.168.47.133
    yum install httpd -y 
    systemctl start httpd
    
    
    # 启动
    systemctl start haproxy.service
    
    # 默认轮询。浏览器访问当前主机ip轮询调度web1,web2 
    
    # 最终目录结构大概
  • 相关阅读:
    嵌入式 VFS: Cannot open root device "mtdblock2" or unknown-block(2,0)
    嵌入式 hi3518x平台h264+g711a封装mp4代码demo
    嵌入式 十个最值得阅读学习的C开源项目代码
    嵌入式 arm平台ping域名指定ip小结
    嵌入式 busybox自带的tftp、telnet、ftp服务器
    嵌入式 hi3518平台检测网线是否插上
    嵌入式 hi3518平台获取网络环境中的ip、netmask、broadcast等信息
    jdbcUrl is required with driverClassName错误解决
    class path resource [processes/] cannot be resolved to URL because it does not exist
    SpringBoot2.0--- 多数据源配置
  • 原文地址:https://www.cnblogs.com/Justin0717/p/12214533.html
Copyright © 2020-2023  润新知