在本文中,我們將向您介紹如何在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/