zoukankan      html  css  js  c++  java
  • 如何在CentOS 8服务器上安装HAProxy

    在本文中,我们将向您介绍如何在CentOS 8上安装HAProxy。HAProxy是免费的HTTP / TCP高可用性负载平衡器和代理服务器。它将请求分散在多个服务器之间,以减轻由单个服务器故障引起的问题。HA Proxy被许多备受关注的大型网站采用。
    步骤1.首先,让我们首先确保您的系统是最新的。
    sudo clean all
    sudo dnf update
    步骤2.在CentOS 8上安装HAProxy。
    HAProxy在默认的CentOS 8上可用,现在使用以下dnf命令安装HAProxy:
    sudo dnf install haproxy
    步骤3.配置HAProxy。
    我们将创建一个/etc/haproxy/haproxy.cfg包含必要的设置和配置的配置文件:
    sudo nano /etc/haproxy/haproxy.cfg
    在文件中输入以下内容:

    global
    log 127.0.0.1 local2
    chroot /var/lib/haproxy
    pidfile /var/run/haproxy.pid
    maxconn 4000
    user haproxy
    group haproxy
    daemon
    stats socket /var/lib/haproxy/stats
    ssl-default-bind-ciphers PROFILE=SYSTEM
    ssl-default-server-ciphers PROFILE=SYSTEM
    defaults
    mode http
    log global
    option httplog
    option dontlognull
    option http-server-close
    option forwardfor except 127.0.0.0/8
    option redispatch
    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
    maxconn 3000
    frontend main
    bind *:5000
    acl url_static path_beg -i /static /images /javascript /stylesheets
    acl url_static path_end -i .jpg .gif .png .css .js
    use_backend static if url_static
    default_backend app
    backend static
    balance roundrobin
    server static 127.0.0.1:4331 check
    backend app
    balance roundrobin
    server app1 127.0.0.1:5001 check
    server app2 127.0.0.1:5002 check
    server app3 127.0.0.1:5003 check
    server app4 127.0.0.1:5004 check

    您可以查看配置详细信息,更多信息请检查此URL。配置HAProxy之后,就可以启动该服务了:
    sudo systemctl start haproxy
    sudo systemctl enable haproxy
    步骤4.配置防火墙。
    我们将HAProxy添加到CentOS 8防火墙,并使用以下命令更新规则:
    sudo firewall-cmd --add-port=8088/tcp --permanent
    sudo firewall-cmd --reload
    步骤5.配置HAProxy日志记录。
    要配置HAProxy标准日志记录/etc/rsyslog.conf,请在端口514上编辑并启用UDP Syslog接收:
    sudo nano /etc/rsyslog.conf
    ...
    # Provides UDP syslog reception
    # for parameters see http://www.rsyslog.com/doc/imudp.html
    module(load="imudp") # needs to be done just once
    input(type="imudp" port="514")
    ...
    *.info;mail.none;authpriv.none;cron.none,local2.none /var/log/messages
    local2.* /var/log/haproxy.log
    ...
    然后,保存配置文件并运行以下命令以检查是否有任何错误:
    rsyslogd -N1
    sudo systemctl restart rsyslog haproxy
    步骤6.在后端服务器上配置Apache X-Forwarded-For Logging。
    现在,我们登录到后端服务器,并将Apache配置为记录X-Forwarded-For标头。我们要更改的默认行是:
    ...
    LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
    LogFormat "%h %l %u %t "%r" %>s %b" common
    ...
    编辑此行,如下:
    ...
    LogFormat ""%{X-Forwarded-For}i" %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
    LogFormat "%h %l %u %t "%r" %>s %b" common
    ...
    保存文件并重新启动Apache:
    apachectl configtest
    sudo systemctl restart httpd
    步骤7.测试HAProxy负载均衡器。
    要验证HAProxy能够平衡HTTP请求的负载,请导航至浏览器并使用主机名或IP地址访问HAProxy。
    至此,您已经成功安装了HAProxy。A5互联https://www.a5idc.net/

  • 相关阅读:
    Git输出格式——Git placeholders
    Unix的缺陷_王垠_新浪博客
    关于文件流的模拟上传——人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata) | 彬Go
    perl正则表达式中的常用模式
    FileReader详解与实例读取并显示图像文件 | JS Mix
    Gitweb源码解析
    用ATL的W2A和A2W宏转换Unicode与ANSI字符串
    JavaScript正则表达式
    显示访客的浏览器类型
    显示屏幕分辨率
  • 原文地址:https://www.cnblogs.com/a5idc/p/13883240.html
Copyright © 2011-2022 走看看