中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Haproxy 搭建 Web群集

發布時間:2020-08-04 09:58:01 來源:網絡 閱讀:144 作者:wx5d8a05337d6b9 欄目:云計算

文章目錄

一、常見的 Web集群調度器:

二、Haproxy 應用分析:

三、Haproxy 調度算法原理:

四、實驗示例:

第一步:搭建兩臺 Nginx 服務器

第二步:搭建 Haproxy

第三步:在 win10 上用瀏覽器訪問調度服務器 (192.168.100.100/test.html)

第四步:優化日志

一、常見的 Web集群調度器:

目前常見的 Web 集群調度器分為軟件和硬件,軟件通常使用開源的LVS、Haproxy、Nginx,硬件一般使用比較多的是 F5,也有很多人使用國內的一些產品,如梭子魚、綠盟等。

二、Haproxy 應用分析:

(1)LVS 在企業應用中抗負載能力很強,但存在不足:

LVS 不支持正則處理,不能實現動靜分離;

對于大型網站,LVS 的實現配置復雜,維護成本相對較高

(2)Haproxy 是一款可提供高可用性、負載均衡、及基于 TCP 和 HTTP 應用的代理的軟件

特別適用于負載特別大的 Web站點;

運行在當前的硬件上可支持數以萬計的并發連接請求

三、Haproxy 調度算法原理:

Haproxy 支持多種調度算法,最常用的有三種:

(1)RR:
RR 算法是最簡單最常用的一種算法,即輪詢調度;

Haproxy 搭建 Web群集

(2)LC:
LC 算法即最小連接數算法,根據后端的節點連接數大小動態分配前端請求;

Haproxy 搭建 Web群集

(3)SH:
SH 即基于來源訪問調度算法,次算法用于一些有 Session 會話記錄在服務器端的場景,可以基于來源的 IP、Cookie 等做集群調度。

Haproxy 搭建 Web群集

四、實驗示例:

(1)環境準備:

兩臺 Nginx 服務器,一臺 Haproxy調度服務器,一臺window作為測試用;

在兩臺 Nginx服務器寫兩個測試網頁;

所有主機網卡都設置成僅主機模式,修改好網卡信息;

客戶端可以通過訪問調度服務器,訪問到兩臺節點服務器,不需要訪問真實服務器地址。

角色 IP地址

Haproxy 192.168.100.100

Nginx 01 192.168.100.201

Nginx 02 192.168.100.202

window10(作為測試用) 192.168.100.50

Haproxy 搭建 Web群集

第一步:搭建兩臺 Nginx 服務器

這邊具體細節不再寫了,可以看之前的博客,有詳細寫搭建過程和細節。
搭建好 Nginx服務之后,在 Nginx主頁 html 中添加一個測試主頁,便于驗證實驗結果:
第一臺:

Haproxy 搭建 Web群集

Haproxy 搭建 Web群集

第二臺:

Haproxy 搭建 Web群集

Haproxy 搭建 Web群集

第二步:搭建 Haproxy

(1)安裝編譯工具:
yum install bzip2-devel pcre-devel gcc gcc-c++ make -y
(2)可以通過遠程掛載將 haproxy壓縮包掛載到本地,再解壓縮:
 tar zxvf haproxy-1.5.19.tar.gz -C /opt/
 //解壓到/opt目錄下
(3)編譯:
make TARGET=linux3100
注:這個版本號,可以使用 uname -a 命令來查看版本號

Haproxy 搭建 Web群集

make install
(4)創建文件,進行備份修改:
mkdir /etc/haproxy
cp examples/haproxy.cfg /etc/haproxy/

vim /etc/haproxy/haproxy.cfg

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        uid 99
        gid 99
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen webcluster 0.0.0.0:80
       option httpchk GET /test.html
       balance roundrobin
       server inst1 192.168.100.201:80 check inter 2000 fall 3
       server inst2 192.168.100.202:80 check inter 2000 fall 3
(5)啟動腳本:
cp examples/haproxy.init /etc/init.d/haproxy
 //復制到init.d啟動進程中

chmod +x /etc/init.d/haproxy
 //添加執行權限

chkconfig --add haproxy 
 //添加到service,便于識別

ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
 //創建軟連接
(6)開啟服務:
service haproxy start

Haproxy 搭建 Web群集

關閉防火墻等環境
[root@Haproxy haproxy-1.5.19]# systemctl stop firewalld.service 
[root@Haproxy haproxy-1.5.19]# setenforce 0

第三步:在 win7 上用瀏覽器訪問調度服務器(192.168.100.100/test.html)

Haproxy 搭建 Web群集

Haproxy 搭建 Web群集

第四步:優化日志

對調度器的配置文件進行優化和修改,可以將正常的訪問信息和錯誤的信息分別存放在不同的日志文件中,方便管理;Haproxy的日志默認是輸出到系統的 syslog 中,在生產環境中一般單獨定義出來。
(1)修改主配置文件
vim/etc/haproxy/haproxy.cfg

修改global段:
log /dev/log    local0 info      //正常訪問的信息存放地
log /dev/log    local0 notice    //提示、警告等信息存放地

Haproxy 搭建 Web群集

(2)重啟服務
service haproxy restart
(3)創建文件,并添加規則
[root@Haproxy haproxy]# touch /etc/rsyslog.d/haproxy.conf
[root@Haproxy haproxy]# cd /etc/rsyslog.d/

[root@Haproxy rsyslog.d]# vim haproxy.conf 

if ($programname == 'haproxy' and $syslogseverity-text == 'info')
then -/var/log/haproxy/haproxy-info.log
&~

if ($programname == 'haproxy' and $syslogseverity-text == 'notice')
then -/var/log/haproxy/haproxy-notice.log
&~
(4)重啟日志服務
systemctl restart rsyslog.service
(5)查看日志文件: /var/log/haproxy/haproxy-info.log

Haproxy 搭建 Web群集

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗平县| 红桥区| 平凉市| 云安县| 乌鲁木齐市| 阿巴嘎旗| 紫云| 沁水县| 准格尔旗| 西林县| 宝丰县| 池州市| 肇源县| 广灵县| 两当县| 朝阳市| 惠东县| 江华| 溧水县| 贞丰县| 葵青区| 黄山市| 兴宁市| 南木林县| 宁蒗| 长白| 伊金霍洛旗| 定南县| 涟水县| 邹平县| 泰和县| 额尔古纳市| 万荣县| 屯门区| 岑巩县| 沾化县| 车险| 慈利县| 浙江省| 佛坪县| 获嘉县|