Keepalived+LVS+Nginx負載均衡之高可用
一、Keepalived介紹
Keepalived是分散式部署系統解決系統高可用的軟體,結合LVS(Linux Virtual Server)使用,其功能類似於heartbeat,解決單機宕機的問題。
二、Keepalived技術原理
keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗餘協議。通過VRRP協議結合LVS,對組群伺服器監控情況,若master出現宕機情況,則將VIP漂移到backup機上。實現了分散式系統高可用。可以理解為:keepalived是LVS的管理軟體,根據監控情況,將宕機伺服器從ipvsadm移除掉。
三、Keepalived+LVS+Nginx實現系統高可用
伺服器 | IP地址 | 說明 |
虛擬IP | 192.168.1.120:80 | |
主機 | 192.168.1.104:80 | |
備機 | 192.168.1.103:80 | |
Web站點A | 192.168.1.101:8081 | 不同埠 |
Web站點B | 192.168.1.101:8082 | 不同埠 |
1、安裝ipvsadm,CentOS7自帶安裝包,通過yum進行安裝。實現系統支援LVS
?1 |
yum install ipvsadm
|
2、安裝Keepalived軟體,並將keepalived設定開機啟動
?1 |
yum install Keepalived
|
1 |
systemctl enable keepalived
|
3、進行Keepalived.conf配置,如果是MASTER機,將state BACKUP改為state MASTER。
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
vim /etc/keepalived/keepalived.conf
#配置的內容
! Configuration File for
keepalived
global_defs {
notification_email {
[email protected] #收到通知的郵件地址
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script monitor_nginx{
script "/usr/local/etc/keepalived/script/monitor_nginx.sh"
interval 1
weight -15
}
vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 51
priority 80
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.120
}
track_script {
monitor_nginx
}
}
virtual_server 192.168.1.120 80 {
delay_loop 6
lb_algo wrr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.1.103 80 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.1.104 80 {
weight 5
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
|
4、配置監控shell指令碼
?1 2 3 4 5 6 7 8 9 10 |
(1)建立:vim /usr/local/etc/keepalived/script/monitor_nginx.sh<br><br>(2)SHELL檔案內容<br>#!/bin/bash
if
[ "$(ps -ef | grep " nginx: master process "| grep -v grep )" ==
"" ]
then
systemclt start nginx.service
sleep 5
if [
"$(ps -ef | grep " nginx: master process "| grep -v grep )" ==
"" ]
then
killall keepalived
fi
fi
|
現在我們對nginx進行配置:
安裝Nginx和配置
1、Nginx介紹
Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。由俄羅斯的工程師Igor Sysoev研發,供俄國大型的入口網站Rambler使用。其特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好。
2、安裝部署
在CentOS7通過命令列安裝Nginx伺服器。
(1)新增Nginx倉儲,新增 epel repository
sudo yum install epel-release
(2)檢查是否已安裝過nginx
find -name nginx
(3)如果有安裝則刪除
yum remove nginx
(4)安裝nginx
sudo yum install nginx
(5)啟動nginx
sudo systemctl start nginx
sudo systemctl enable nginx #可用
(6)將nginx 設定為啟動系統自動啟動nginx
echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
(7)檢視本機IP,為了後續配置nginx.conf所用
ifconfig
(8)修改nginx.conf配置檔案
cd /etc/nginx/ #定位到nginx安裝目錄
vim nginx.conf #通過vim開啟nginx.conf配置檔案進行配置
(9)主要配置節點,192.168.119.1:8081 和 192.168.119.1:8082 分別部署在 IIS7的兩個ASP.NET MVC 開發的站點(在另一臺電腦),設計軟體架構解決方案後續介紹。
upstream 192.168.119.128{
server 192.168.119.1:8081;
server 192.168.119.1:8082;
}
server{
listen 80;
server_name 192.168.119.128;
location /{
proxy_pass http://192.168.119.128;
}
}
(10)重啟nginx服務
service nginx restart
如下對功能進行驗證測試。
四、實現測試展示
1、訪問系統情況:通過VIP(192.168.1.120)訪問系統頁面。因為設定了輪詢排程,所以重新整理頁面訪問不同站點。
2、將 MASTER(192.168.1.104)關機前後,檢視相關VLS情況:
(1)關機前:
(2)關機後:
我們看到將104伺服器從 LVS移除掉。此時則將後續請求轉發到103伺服器。
3、關機後,BACKUP伺服器 keepalived日誌顯示無法連線104,並移除掉
5、開機後,將自動檢測到伺服器正常,並加入LVS中。
相關推薦
Keepalived+LVS+Nginx負載均衡之高可用
一、Keepalived介紹 Keepalived是分散式部署系統解決系統高可用的軟體,結合LVS(Linux Virtual Server)使用,其功能類似於heartbeat,解決單機宕機的問題。 二、Keepalived技術原理 keepalived是以VRRP協議為實現基礎
Keepalived+Nginx實現前端負載均衡的高可用
keepalived+nginx實現前端負載均衡的高可用一、實驗前準備時間同步、關閉iptables+selinux、各主機能相互解析在192.168.0.101和192.168.0.102上安裝Keepalived和Nginx,通過Nginx負載均衡至192.168.0.103及192.168.0.104上
nginx反向代理tomacat+keepalived實現動靜分離、負載均衡、高可用
時間 超時 error css 權限命令 上傳 轉發 onf ioc 本文的動靜分離主要是通過nginx+tomcat來實現,其中nginx處理圖片、html、JS、CSS等靜態文件,tomcat處理jsp、servlet等動態請求 服務器名稱
解決Nginx + Keepalived主從雙機熱備+自動切換,實現負載均衡及高可用
解決Nginx + Keepalived主從雙機熱備+自動切換,實現負載均衡及高可用 IP 伺服器 服務 192.168.1.10 lb-node1 Nginx、kee
linux下 使用keepalived 實現nginx 負載均衡+主備高可用
1.什麼是負載均衡高可用 nginx作為負載均衡器,所有請求都到了nginx,可見nginx處於非常重點的位置,如果nginx伺服器宕機後端web服務將無法提供服務,影響嚴重。
Nginx(七):keepalived實現Nginx負載均衡伺服器的雙機高可用
前言 之前咱們通過 Nginx(六):Nginx HTTP負載均衡和反向代理的配置與優化 和 Nginx+tomcat組合實現高併發場景的動靜分離和負載均衡方案 這兩篇文章瞭解了Nginx對高併發應用伺服器tomcat的負載均衡優化,所有的請求都會先經過Nginx,N
haproxy+keepalived實現負載均衡及高可用
keepalived+haproxy HAProxy是一個使用C語言編寫的自由及開放源代碼軟件,其提供高性能性、負載均衡,以及基於TCP和HTTP的應用程序代理。相較與 Nginx,HAProxy 更專註與反向代理,因此它可以支持更多的選項,更精細的控制,更多的健康狀態檢測機制和負載均衡算法。 H
用haproxy結合keepalived實現基於LNMP的負載均衡和高可用
lnmp的負載均衡以及高可用今天我們講haproxy結合keepalived實現LNMP的負載均衡和高可用,現在的公司大部分都基於haproxy實現負載均衡。下面以一個事例去給大家詳細講解如何去實現:一、用haproxy結合keepalived實現基於lnmp的負載均衡和高可用服務,要求: (1)實現動
DR+keepalived實現web群集的負載均衡和高可用性
Lvs-DR keepalived 我們搭建好的Lvs-DR群集是有一臺lvs調度器的,生產環境中如果調度器出現故障,整個群集將癱瘓。通過keepalived做lvs調度器的雙機熱備就可以很好的解決這個問題。keepalived采用VRRP虛擬路由冗余協議,以軟件的方式實現Linux服務器的多機熱備功
Keepalived負載均衡與高可用
flags scrip vsa 基於ip 主機 lvs 詳細介紹 ipaddress type 1.keepalived服務介紹Keepalived的項目實現的主要目標是簡化LVS項目的配置並增強其穩定性,即Keepalived是對LVS項目的擴展增強。Keepalived
【 58沈劍 架構師之路】TCP接入層的負載均衡、高可用、擴充套件性架構
一、web-server的負載均衡 網際網路架構中,web-server接入一般使用nginx來做反向代理,實施負載均衡。整個架構分三層: 上游呼叫層,一般是browser或者APP 中間反向代理層,nginx 下游真實接入叢集,web-server,常見web-server的
LVS的DR模式中的負載均衡及高可用
** 一 LVS的三種IP負載均衡技術比較 ** 我們先分析實現虛擬網路服務的主要技術,指出IP負載均衡技術是在負載排程器的實現技術中效率最高的。在已有的IP負載均衡技術中,主要有通過網路地址轉換(Network Address Transl
Nginx反向代理Tomcat實現現負載均衡(高可用)以及利用redis+Session同步會話共享配置詳解
簡介: 一、Redis介紹 redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sortedset --有序集合)和hash(雜湊型別)。與m
saltstack部署實現nginx和apache的負載均衡及高可用(批量實現)
一 saltstack的介紹 SaltStack是一個伺服器基礎架構集中化管理平臺,具備配置管理、遠端執行、監控等功能,基於Python語言實現,結合輕量級訊息佇列(ZeroMQ)與Python第三方模組(Pyzmq、PyCrypto、Pyjinjia2、python-m
15套java互聯網架構師、高並發、集群、負載均衡、高可用、數據庫設計、緩存、性能優化、大型分布式 項目實戰視頻教程
二階 並發 支持 線程並發 important http 系統架構 四十 mongodb入門 * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架構師、集群、高可用、高可擴
利用keepalived實現nginx調度器高可用(一)
efault fig html oot 服務 emctl alt rom rip 利用keepalived實現nginx調度器高可用 聲明:提供四臺主機,其中兩臺nginx做前端調度器(一臺做主調度器,一臺做備用調度器), 另外兩臺主機做we
利用keepalived實現nginx調度器高可用(二)
font 相同 () ins db_name lob list default ast 構建LNAMMP架構:1) Nginx既是前端調度器,又是反向代理緩存服務器;2) 將php的session緩存於memcached中;3) 使用php-fpm上部署Discuz論壇
keepalived實現nginx調度器高可用(二)
amp web測試 keep 服務 vrrp value res 聲明 href keepalived實現nginx調度器高可用(二) 構建LNAMMP架構:1) Nginx既是前端調度器,又是反向代理緩存服務器;2) 將php的session緩存於memcach
分布式、集群、負載均衡、高可用的概念
活性 百萬 ava RF lan 最好 壓力 消息傳遞 我們 分布式(不一定有集群): 是指將不同的業務分布在不同的地方(應用服務器)。 集群cluster: 一群機器的集合。 負載均衡(集群):(Load balance cluster, LBC)
NGINX 負載均衡 之九
ngx 算法 均衡 http 節點 backup pst 指定 自己 1、Nginx 負載均衡的組件模塊 ngx_http_proxy_module:proxy代理模塊,用於把請求後拋給服務器節點或upstream服務器池。ngx_http_upstream_module: