基於nginx實現web伺服器的雙機熱備

2021-08-22 04:31:52 字數 2158 閱讀 4262

1.適用場景

對於部署重要的服務,會使用兩台伺服器,互相備份,共同執行同一服務。當一台伺服器出現故障時,可以由另一台伺服器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續提供服務。雙機熱備由備用的伺服器解決了在主伺服器故障時服務不中斷的問題。

2.nginx

3.方法

前提:

nginx環境

準備兩台web伺服器

步驟1. 配置nginx.conf檔案

在nginx.conf檔案裡新增如下**

#雙機熱備方式  

upstream yii.nginx.com

#反向**配置

server

}

說明:backup是利用nginx的熱備功能,這也是最典型的應用帶來的重要好處之一,當非backup server能夠很好的為client提供服務的時候,backup server不對外界提供服務,此時backup server處於冷狀態;當所有非backup server不能很好的為client提供服務的時候,backup server為client提供服務,做到了熱備,某台或者所有非backup web server宕機不會影響整個web專案的訪問功能,web專案仍然可以為client提供服務。

步驟2.啟動nginx

start nginx
步驟3.訪問網域名稱

訪問網域名稱,可以看到我們部署的web服務(我們看到的是146伺服器上部署的服務),如果此時192.168.81.146的伺服器出現故障,伺服器無法連線,nginx自動將請求**到備用伺服器192.168.81.147:8080上。通過nginx的主備機制,使得使用者訪問的web服務不會因為主伺服器的故障而無法訪問。

4.測試方法可行性

通過上述步驟,我們可以測試nginx對於雙機熱備是否可行,我們在146機器上部署tomcat7.0,在147機器上部署tomcat8.0,當146機器沒有故障時,訪問網域名稱我們可以看到介面是tomcat7.0,當我們關閉146服務,重新訪問網域名稱,訪問頁面是tocmat8.0,因此可以證明,當主伺服器出現故障時無法提供服務時,備用伺服器能代替主伺服器提供服務,保證服務的不中斷。

5.其他知識點

5.1關於nginx的反向**

反向**(reverse proxy)方式是指以**伺服器來接受internet上的連線請求,然後將請求**給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時**伺服器對外就表現為乙個伺服器。

反向**方式實際上就是一台負責**的**伺服器,貌似充當了真正伺服器的功能,但實際上並不是,**伺服器只是充當了**的作用,並且從真正的伺服器那裡取得返回的資料。這樣說,其實nginx完成的就是這樣的工作。我們讓nginx監聽乙個埠,譬如80埠,但實際上我們**給在8080埠的tomcat,由它來處理真正的請求,當請求完成後,tomcat返回,但資料此時沒直接返回,而是直接給nginx,由nginx進行返回,這裡,我們會以為是nginx進行了處理,但實際上進行處理的是tomcat。

5.2關於雙機熱備

雙機熱備

從廣義上講,就是對於重要的服務,使用兩台伺服器,互相備份,共同執行同一服務。當一台伺服器出現故障時,可以由另一台伺服器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續提供服務。雙機熱備由備用的伺服器解決了在主伺服器故障時服務不中斷的問題。

為什麼使用雙機熱備

雙機熱備針對的是伺服器的故障。

伺服器的故障可能由各種原因引起,如裝置故障、作業系統故障、軟體系統故障等等。

而對於一些重要系統而言,使用者是很難忍受這樣長時間的服務中斷的。因此,就需要通過雙機熱備,來避免長時間的服務中斷,保證系統長期、可靠的服務。

決定是否使用雙機熱備,正確的方法是要分析一下系統的重要性以及對服務中斷的容忍程度,以此決定是否使用雙機熱備。即,你的使用者能容忍多長時間恢復服務,如果服務不能恢復會造成多大的影響。

雙機熱備的三種實現方案

組成雙機熱備的方案主要的三種方式分別為:基於共享儲存(磁碟陣列)的方式,全冗餘方式和複製方式。

構建基於Nginx的web伺服器

一 簡介 nginx engine x 是乙個高效能的http 和反向 伺服器,也是乙個imap pop3 smtp 伺服器。nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 二 系統環境 系統平台 rhel 5.4 nginx版本 nginx 1.0.15 三 ...

基於 epoll 實現 web 伺服器

1.簡介 epoll 是 linux 平台下特有的一種 i o 復用模型實現,於 2002 年在 linux kernel 2.5.44 中被引入。在 epoll 之前,unix linux 平台下的 i o 復用模型包含 select 和 poll 兩個系統呼叫。隨著網際網路的發展,網際網路的使用...

web伺服器 簡單web伺服器實現

三次握手 一般情況下是瀏覽器先傳送請求資料,c s ack 應答 三次握手成功後,才開始進行通訊資料的收發。四次揮手 一般情況下是客戶端先關閉,給瀏覽器傳送關閉資訊。如果瀏覽器傳送了關閉資訊,但是伺服器沒有回過去,較慢 那麼瀏覽器一直發是不是就會有問題?所以會等待 2msl的時間。一般為2 5分鐘。...