日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

基于HAproxy的web动静分离及输出状态检测页面

發(fā)布時間:2025/4/16 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于HAproxy的web动静分离及输出状态检测页面 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、簡介

? ?HAProxy提供高可用性、負載均衡以及基于TCP和HTTP應(yīng)用的代 理,支持虛擬主機,它是免費、快速并且可靠的一種解決方案。HAProxy特別適用于那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。HAProxy運行在當(dāng)前的硬件上,完全可以支持數(shù)以萬計的并發(fā)連接。并且它的運行模式使得它可以很簡單安全的整合進您當(dāng)前的架構(gòu)中, 同時可以保護你的web服務(wù)器不被暴露到網(wǎng)絡(luò)上。

HAProxy實現(xiàn)了一種事件驅(qū)動, 單一進程模型,此模型支持非常大的并發(fā)連接數(shù)。多進程或多線程模型受內(nèi)存限制 、系統(tǒng)調(diào)度器限制以及無處不在的鎖限制,很少能處理數(shù)千并發(fā)連接。事件驅(qū)動模型因為在有更好的資源和時間管理的用戶端(User-Space) 實現(xiàn)所有這些任務(wù),所以沒有這些問題。此模型的弊端是,在多核系統(tǒng)上,這些程序通常擴展性較差。這就是為什么他們必須進行優(yōu)化以 使每個CPU時間片(Cycle)做更多的工作。

? ? HAProxy是免費、極速且可靠的用于為TCP和基于HTTP應(yīng)用程序提供高可用、負載均衡和代理服務(wù)的解決方案,尤其適用于高負載且需要持久連接或7層處理機制的web站點。

二、安裝配置

1.拓撲圖

? ?說明:1.由于測試環(huán)境虛擬機有限,此處將靜態(tài)頁面和圖片放在了一臺機器上

? ? ? ? ?2.由于測試環(huán)境虛擬機有限,此處動態(tài)頁面和靜態(tài)頁面各提供一臺機器,不考慮單點故障

? ? ? ? ?3.用戶看到的服務(wù)器為HAproxy對外提供的ip地址,看不到后面的各服務(wù)器組

? ? ? ? ?4.此處不涉及php頁面與數(shù)據(jù)庫的交互內(nèi)容

2.ip地址規(guī)劃

功用ip地址安裝軟件操作系統(tǒng)
反向代理服務(wù)器192.168.1.201Haproxycentos6.5
靜態(tài)頁面服務(wù)器192.168.1.202httpdcentos6.5
動態(tài)頁面服務(wù)器
192.168.1.203httpd、phpcentos6.5

3.安裝配置HAproxy

? ? ? ?①、安裝

? ? ? ? ? ?HAproxy可以通過yum源安裝也可以通過源碼編譯安裝,經(jīng)查看得知yum源中提供的1.4.24版本,而官方提供的為1.4.25版本,所有本次我們通過yum來進行安裝 ?

[root@node1 ~]# yum install haproxy -y

? ? ? ? ②、啟動配置文件選項

[root@node1 ~]# vi /etc/rsyslog.conf 啟用一下兩行 $ModLoad imudp $UDPServerRun 514 添加以下一行 local2.* /var/log/haproxy.log

? ? ? ?將rsyslog日志文件系統(tǒng)重啟

? ? ? ?③、配置動靜分離

#--------------------------------------------------------------------- # Example configuration for a possible web application. See the # full configuration options online. # # http://haproxy.1wt.eu/download/1.4/doc/configuration.txt # #--------------------------------------------------------------------- #--------------------------------------------------------------------- # Global settings #--------------------------------------------------------------------- global# to have these messages end up in /var/log/haproxy.log you will# need to:## 1) configure syslog to accept network log events. This is done# by adding the '-r' option to the SYSLOGD_OPTIONS in# /etc/sysconfig/syslog## 2) configure local2 events to go to the /var/log/haproxy.log# file. A line like the following can be added to# /etc/sysconfig/syslog## local2.* /var/log/haproxy.log#log 127.0.0.1 local2chroot /var/lib/haproxypidfile /var/run/haproxy.pidmaxconn 4000user haproxygroup haproxydaemon# turn on stats unix socketstats socket /var/lib/haproxy/stats #--------------------------------------------------------------------- # common defaults that all the 'listen' and 'backend' sections will # use if not designated in their block #--------------------------------------------------------------------- defaultsmode httplog globaloption httplogoption dontlognulloption http-server-closeoption forwardfor except 127.0.0.0/8option redispatchretries 3timeout http-request 10stimeout queue 1mtimeout connect 10stimeout client 1mtimeout server 1mtimeout http-keep-alive 10stimeout check 10smaxconn 3000 #--------------------------------------------------------------------- # main frontend which proxys to the backends #--------------------------------------------------------------------- frontend main *:80acl url_static path_beg -i /static /p_w_picpaths /javascript /stylesheetsacl url_static path_end -i .jpg .gif .png .css .js .htmlacl host_static hdr_beg(host) -i img. video. download. ftp. imgs.use_backend static if url_staticdefault_backend app #--------------------------------------------------------------------- # static backend for serving up p_w_picpaths, stylesheets and such #--------------------------------------------------------------------- backend staticbalance roundrobinserver static 192.168.1.202:80 check maxconn 2000 #--------------------------------------------------------------------- # round robin balancing between the various backends #--------------------------------------------------------------------- backend appbalance roundrobinserver app1 192.168.1.203:80 check maxconn 200

? ? ? ?④、準備靜態(tài)頁面與動態(tài)頁面 ? ? ? ? ? ?

靜態(tài)頁面 [root@node2 ~]# vi /var/www/html/index.html hello,wangfeng7399

? ? ? ?動態(tài)頁

[root@node3 ~]# yum install -y php httpd [root@node3 html]# vi index.php <?phpphpinfo(); ?> ~

? ? ? ?⑤、測試

? ?⑥、啟動狀態(tài)輸出頁面,在配置文件添加如下行

listen statsmode httpbind *:1090stats enablestats hide-versionstats uri /hadmin?statsstats realm Haproxy\ Statisticsstats auth admin:adminstats admin if TRUE

? ?重新載入服務(wù)

? ?大功告成 ,由于本人水平有限,可能有錯誤,請各位大牛匹配指正


轉(zhuǎn)載于:https://blog.51cto.com/wangfeng7399/1405758

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的基于HAproxy的web动静分离及输出状态检测页面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。