nginx負載均衡單點解決方案
Nginx有很強代理功能,但是一臺nginx就形成了單點,現在使用keepalived來解決這個問題,keepalived的故障轉移時間很短.Nginx+keepalived雙機實現nginx反向代理服務的高可用,一臺nginx掛掉之後不影響應用也不影響內網訪問外網。
keepalived它是一個基於VRRP協議來實現的WEB服務高可用方案,可以利用其來避免單點故障。一個WEB服務至少會有2臺伺服器執行Keepalived,一臺為主伺服器(MASTER),一臺為備份伺服器(BACKUP),但是對外表現為一個虛擬IP,主伺服器會發送特定的訊息給備份伺服器,當備份伺服器收不到這個訊息的時候,即主伺服器宕機的時候,備份伺服器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。
nginx的安裝在我之前的部落格中已經寫過,這裡就不再贅述。
然後就是安裝keepalived
命令:wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz
根據需要選擇適合自己版本的keepalived下載。
解壓:tar -zxvf /root/keepalived-1.2.19.tar.gz(根據自己的下載路徑填寫)
進入解壓後的檔案中cd /root/keepalived-1.2.19。如圖有一個configure的可執行檔案
在/usr/local檔案下新建keepalived資料夾
mkdir /usr/local/keepalived
接著執行./configure --prefix=/usr/local/keepalived
這裡用nginx來負載均衡不用lvs來負載所以不用管這一行。
make&&make install 來安裝完後/usr/local/keepalived下生成四個資料夾代表安裝成功。
這是/usr/local/keepalived資料夾的目錄結構
安裝完以後執行以下命令以方便以後管理
mkdir /etc/keepalived
- ln -s /usr/local/sbin/keepalived /usr/sbin/ 或者
- cp /usr/local/keepalived/sbin/keepalived /usr/sbin
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
啟動keepalived:service keepalived start
keepalived 雙主配置
主:真實ip192.168.110.134 vip192.168.110.80
備:真實ip192.168.110.135 vip192.168.110.90
主:
vrrp_instance VI_1 {
state MASTER // 定義為主伺服器
interface eth0 //vip繫結的網絡卡
virtual_router_id 51 //虛擬路由的id,主從必須一致
priority 100 //優先順序,隨機值但是主伺服器的一定比從伺服器的大
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.110.80 //繫結的虛擬ip
}
}
vrrp_instance VI_2 {
state BACKUP //定義為從伺服器
interface eth0 //vip繫結的網絡卡
virtual_router_id 52 //虛擬路由的id,主從必須一致
priority 90 //優先順序,隨機值但是主伺服器的一定比從伺服器的大
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress{
192.168.110.90 //繫結vip
}
}
配置玩重啟keepalived:service keepalived restart
ip addr 檢視
備:
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.110.80
}
}
vrrp_instance VI_2 {
state MASTER
interface eth0
virtual_router_id 52
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress{
192.168.110.90
}
}
測試:主伺服器正常工作時,為了方便區別驗證
主伺服器關機或者服務程序死掉立馬切換備伺服器,切換時間人感覺不出來。
負載均衡:
nginx 的 upstream預設是以輪詢的方式實現負載均衡,這種方式中,每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。另外一種方式是ip_hash:每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。
每個主伺服器如下配置
vi /etc/nginx/nginx.conf
upstream test {
server 127.0.0.1 down; //本地伺服器不參與負載
server 192.168.110.136:80 weight=5; //後臺伺服器
server 192.168.110.137:80 weight=5;//後臺伺服器
#ip_hash;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://test;
root /usr/share/nginx/html;
index index.html index.htm;
}
配置非常詳細文章:https://yq.aliyun.com/articles/47355
相關推薦
nginx負載均衡單點解決方案
Nginx有很強代理功能,但是一臺nginx就形成了單點,現在使用keepalived來解決這個問題,keepalived的故障轉移時間很短.Nginx+keepalived雙機實現nginx反向代理服務的高可用,一臺nginx掛掉之後不影響應用也不影響內網訪問外網。
nginx 負載均衡session複製解決方案
nginx 負載均衡,必定要用到分散式叢集方案,只要涉及分散式,session共享必定是一個大問題,不僅僅是nginx的問題。我們用nginx做負載均衡,同一個請求不一定會被分配到哪個伺服器中,那麼我們下一個請求可能又被分到了其他的伺服器,這種情境下,就會造成s
web負載均衡的多種解決方案
web load balancing,簡單地說就是給我們的伺服器叢集分配”工作任務“。 1.反向代理 反向代理服務的核心工作主要是轉發HTTP請求,因為它工作在HTTP層(應用層),也就是網路結構中的第七層,因此也被稱為”七層負載均衡“,可以做反向代理的軟體很多,比較常見
Nginx負載均衡的4種方案配置
1、輪詢 輪詢即Round Robin,根據Nginx配置檔案中的順序,依次把客戶端的Web請求分發到不同的後端伺服器。 配置的例子如下: http{ upstream sampleapp { server <<dns entry or IP Add
域名到站點的負載均衡技術一覽(主要是探討一臺Nginx抵禦大併發的解決方案)(轉)https://www.cnblogs.com/EasonJim/p/7823410.html
一、問題域 Nginx、LVS、Keepalived、F5、DNS輪詢,往往討論的是接入層的這樣幾個問題: 1)可用性:任何一臺機器掛了,服務受不受影響 2)擴充套件性:能否通過增加機器,擴充系統的效能 3)反向代理+負載均衡:請求是否均勻分攤到後端的操作單元執行 二、上面那些名詞都是什麼概念 1
nginx 負載均衡叢集解決方案 healthcheck_nginx_upstreams (一)
該文章來源於網際網路,目前找不到原作者,放在這裡的目的是記錄 的安裝過程和相關配置,在起初安裝成功後不能夠正常執行healthcheck_nginx_upstreams,後通過閱讀原始碼和除錯,能夠正常執行。 不過資訊如下: *26 no live upstreams while connec
Nginx負載均衡4種方案
nginx配置 another 服務器 nginx負載均衡 address 第一個 session 添加 後端 1、輪詢 輪詢即Round Robin,根據Nginx配置文件中的順序,依次把客戶端的Web請求分發到不同的後端服務器。 配置的例子如下:http{ up
Linux下Nginx+Resin負載均衡,session問題解決例項
Linux下Nginx+Resin負載均衡,session問題解決例項 轉載:http://blog.chinaunix.ne
nginx負載均衡輪循session問題解決
1.不使用session,換作cookie把session改成cookie,就能避開session的一些弊端。2.資料庫記錄session資訊使用資料庫記錄session資訊,session的使用頻率比較高,如果存在資料庫中,頻繁的讀取會對資料庫產生較大的壓力,網站效能瓶頸一
nginx負載均衡配置
war eal ade remote dock lis upstream doc 配置 http { upstream docker { server 192.168.88.106:10001; server 192.168.88.1
【轉】淺談一個網頁打開的全過程(涉及DNS、CDN、Nginx負載均衡等)
位置 filters 產生 多種方法 tps windows cnblogs 這就是 廣東 1、概要 從用戶在瀏覽器輸入域名開始,到web頁面加載完畢,這是一個說復雜不復雜,說簡單不簡單的過程,下文暫且把這個過程稱作網頁加載過程。下面我將依靠自己的經驗,總結一下整個過程
BasePath問題-nginx負載均衡配置
.... class ip地址 htm post 細致 rpo 均衡 css 在配置nginx+tomcat好後。將項目加入到webapps中。發現訪問主頁時,css與js訪問不到,導致主頁布局出錯。細致分析原因後發現css與js的地址是basePath得出的。而bas
tomcat+nginx負載均衡群集
負載均衡群集線上環境Nginx+Tomcat網站拓撲架構服務器軟件要求:主機 IP地址 主要軟件 Nginx服務器192.168.1.102 nginx-1.6.0.tar.gz Tomcat1 192.168.1.100 1.jdk-7u65-linux-x64.gz 2.apache-tomcat-
Nginx負載均衡+Keepalived高可用集群
check list proxy www alived 編譯安裝nginx efi class request 一、搭建環境及軟件版本 負載均衡:Nginx 高可用:Keepalived Linux:Centos 6.5 Nginx:nginx-1.6.2 Keepaliv
tomcat+nginx負載均衡
col rec 80端口 get tom 127.0.0.1 核數 worker div 一、 工具 nginx-1.8.0 apache-tomcat-6.0.33 二、 目標 實現高性能負載均衡的Tomcat集群: 三、 步驟
nginx負載均衡簡單配置
.org star gin def lis down pes timeout install nginx負載均衡簡單配置準備三臺虛擬機來做這個實驗:172.16.160.99 web服務器172.16.160.103 web服務器172.16.160
[轉]Nginx負載均衡原理初解
sockaddr lvs 設計 ews 設備 腳本 匹配 ocl 執行權 什麽是負載均衡 我們知道單臺服務器的性能是有上限的,當流量很大時,就需要使用多臺服務器來共同提供服務,這就是所謂的集群。 負載均衡服務器,就是用來把經過它的流量,按照某種方法,分配到集群中的
httpd或Nginx負載均衡tomcat
direct 技術分享 reads thread table com reserve edi install 實驗環境:CentOS7 #兩臺tomcat的基本配置如下: [[email protected]/* */ localhost]#setenforc
Nginx負載均衡配置實例詳解
負載均衡 命令 成功 介紹 nginx 重啟nginx 不能 測試 forward [導讀] 負載均衡是我們大流量網站要做的一個東西,下面我來給大家介紹在Nginx服務器上進行負載均衡配置方法,希望對有需要的同學有所幫助哦。負載均衡先來簡單了解一下什麽是負載均衡,
LNMP-Nginx負載均衡
nginx1、獲取網站IP地址[[email protected]/* */ ~]# yum install -y bind-utils ##安裝dig命令 [[email protected]/* */ ~]# dig baidu.com ; <<>> Di