您好,登錄后才能下訂單哦!
下文給大家?guī)韍aproxy的負(fù)載均衡是如何實(shí)現(xiàn)的,希望能夠給大家在實(shí)際運(yùn)用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用億速云在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來做一個(gè)解答。
開啟三臺(tái)虛擬機(jī):
192.168.80.103
192.168.80.104
192.168.80.105
在80.103里:
systemctl stop firewalld //關(guān)閉防火墻
setenforce 0 //關(guān)閉監(jiān)控
yum install lrz* -y //安裝上傳軟件
把haproxy包拉入
tar xf haproxy-1.5.15.tar.gz -C /opt/ //解壓包并且放入/opt文件中
cd /opt/haproxy-1.5.15/
源碼編譯安裝haproxy
yum install -y \
pcre-devel \
bzip2-devel \
gcc \
gcc-c++ \
make
uname -r //內(nèi)核版本
make TARGET=linux26 PREFIX=/usr/local/haproxy //標(biāo)識(shí)64為系統(tǒng)
make install PREFIX=/usr/local/haproxy
mkdir /etc/haproxy
useradd -s /sbin/nologin -M haproxy
id haproxy
cd /usr/local/haproxy/
cd /opt/haproxy-1.5.15/
cd examples/
cp haproxy.cfg /etc/haproxy/
cd /etc/haproxy/
vi haproxy.cfg
修改后:
srvtimeout 50000 后面的內(nèi)容全刪了,再添加下面新的內(nèi)容:
-----------------------------------------統(tǒng)計(jì)頁面配置------------------------------------
listen admin_stats #為haproxy訪問狀態(tài)監(jiān)控頁面配置,取名為admin_stats
bind 0.0.0.0:8089 //監(jiān)聽端口
stats enable //啟用監(jiān)聽端口
mode http #http的7層模式
log global # 繼承g(shù)lobal中l(wèi)og的定義
stats uri /stats #監(jiān)控頁面的url訪問路徑,即http://ip/stats 訪問監(jiān)控頁面
stats realm Haproxy\ Statistics #監(jiān)控頁面的密碼框提示信息
stats auth admin:admin #監(jiān)控頁面的用戶和密碼admin,可以設(shè)置多個(gè)用戶名
#stats hide-version //隱藏統(tǒng)計(jì)頁面上HAProxy的版本信息
stats admin if TRUE //當(dāng)通過認(rèn)證才可管理
stats refresh 30s //頁面自動(dòng)刷新時(shí)間30s
:wq //保存退出
cd -
cp haproxy.init /etc/init.d/haproxy
vi /etc/init.d/haproxy
chmod +x /etc/init.d/haproxy //給這個(gè)文件設(shè)置權(quán)限
ll /etc/init.d/haproxy
chkconfig --add haproxy //添加系統(tǒng)服務(wù)
ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy //軟鏈接
service haproxy start //啟動(dòng)haproxy
netstat -anp | grep haproxy //查看haproxy服務(wù)是否開啟
在網(wǎng)頁上輸入IP地址:8089/stats
service haproxy stop //關(guān)閉haproxy
vi /etc/haproxy/haproxy.cfg
在里面添加以下內(nèi)容:
------------------------web設(shè)置--------------------------------
listen webcluster #定義webcluster云服務(wù)器組。
bind 0.0.0.0:80 #定義haproxy前端部分監(jiān)聽的端口。
mode http #http的7層模式
option httpchk GET /index.html #心跳檢測(cè)
log global #繼承g(shù)lobal中l(wèi)og的定義
maxconn 3000 #server進(jìn)程可接受的最大并發(fā)連接數(shù)
balance roundrobin #負(fù)載均衡的方式:輪詢
server web01 192.168.80.104:80 check inter 2000 fall 5
server web02 192.168.80.105:80 check inter 2000 fall 5
:wq //保存退出
注:
后端服務(wù)器 web1 和 web2 ,IP 地址分別為 192.168.80.10 和 192.168.80.20
check:對(duì)當(dāng)前server做健康狀態(tài)檢測(cè)
inter <delay>:檢測(cè)之間的時(shí)間間隔,默認(rèn)為2000ms
fall <count>:連續(xù)多少次檢測(cè)結(jié)果為“失敗”才標(biāo)記為不可用;默認(rèn)為3
rise <count>:連續(xù)多少次檢測(cè)結(jié)果為“成功”才標(biāo)記為可用;默認(rèn)為2
service haproxy start //開啟haproxy
netstat -anp | grep haproxy //查看haproxy服務(wù)是否開啟
在網(wǎng)頁上輸入http://192.168.80103:8089/stats //統(tǒng)計(jì)頁面
在網(wǎng)頁上輸入http://192.168.80103 //負(fù)載均衡
在80.104里:
systemctl stop firewalld
setenforce 0
yum install httpd -y //安裝httpd
vi /etc/httpd/conf/httpd.conf
把ServerName www.example.com:80 前面的#去掉
cd /var/www/html/
echo "<h3>server aa</h3>" > index.html
systemctl start httpd
在網(wǎng)頁輸入192.168.80.104
在80.105里:
systemctl stop firewalld
setenforce 0
yum install httpd -y //安裝httpd
vi /etc/httpd/conf/httpd.conf
把ServerName www.example.com:80 前面的#去掉
cd /var/www/html/
echo "<h3>server bb</h3>" > index.html
systemctl start httpd
在網(wǎng)頁輸入192.168.80.105
看了以上關(guān)于haproxy的負(fù)載均衡是如何實(shí)現(xiàn)的,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。