Nginx配置實例 一、反向代理 實例一 1、實現效果 打開瀏覽器,在瀏覽器地址欄輸入地址 www.123.com ,跳轉到linux系統tomcat主頁面中。 2、準備工作 在linux系統中安裝tomcat,使用預設埠8080 3、訪問過程分析 在瀏覽器地址欄輸入地址,請求nginx反向代理服 ...
Nginx配置實例
一、反向代理
實例一
1、實現效果
打開瀏覽器,在瀏覽器地址欄輸入地址 www.123.com ,跳轉到linux系統tomcat主頁面中。
2、準備工作
- 在linux系統中安裝tomcat,使用預設埠8080
3、訪問過程分析
在瀏覽器地址欄輸入地址,請求nginx反向代理伺服器,nginx幫助我們將請求轉發到linux中的tomcat伺服器。
4、具體配置
- 在windows系統的host文件中進行功能變數名稱和ip對應關係的配置
- 在nginx進行請求轉發的配置
實例二
1、實現效果
使用nginx反向代理,根據訪問的路徑不同跳轉到不同的埠服務中去。
nginx監聽埠9001
訪問 http://192.168.196.132:9001/edu/ 直接跳轉到127.0.0.1:8080
訪問 http://192.168.196.132:9001/vod/ 直接跳轉到127.0.0.1:8081
2、準備工作
- 準備兩個tomcat伺服器,一個8080埠,一個8081埠
- 創建文件夾和測試頁面
3、具體配置
- 在nginx的配置文件中進行反向代理的配置
二、負載均衡
1、實現效果
瀏覽器地址欄輸入 http://192.168.196132/edu/a.html ,負載均衡的平均分發到監聽8080埠和8081埠的兩個tomcat伺服器
2、準備工作
- 準備兩台tomcat伺服器,一臺8080,一臺8081
- 在兩台tomcat裡面webapps目錄中,創建名稱是edu的文件夾,在文件夾中創建頁面a.html,用於測試
3、具體配置
4、nginx負載均衡策略
- 輪詢(預設):每個請求按時間順序逐一分配到不同的後端伺服器
- weight:權重預設值為1,權重越高被分配的客戶端越多
- ip_hash:每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器
三、動靜分離
nginx動靜分離簡單來說就是把動態跟靜態請求分開,不能理解成知識單純的把動態頁面和靜態頁面物理分離,嚴格意義上說應該是動態請求跟靜態請求分開,可以理解成使用nginx處理靜態頁面,tomcat處理動態頁面,動靜分離從目前實現角度大致分為兩種,第一種是純粹把靜態文件獨立成單獨的功能變數名稱,放在獨立的伺服器上,也是目前主流推崇的方案;另一種方法就是動態跟靜態文件混合一起發佈,通過nginx來分開。
1、準備工作
- 在linux系統中準備一些靜態資源,用於進行訪問
2、具體配置
四、高可用集群
nginx作為負載均衡器,所有請求都到了nginx,可見nginx處於非常重點的位置,如果nginx伺服器宕機後端web服務將無法提供服務,影響嚴重。
為了屏蔽負載均衡伺服器的宕機,需要建立一個備份機。主伺服器和備份機上都運行高可用(High Availability)監控程式,通過傳送諸如“I am alive”這樣的信息來監控對方的運行狀況。當備份機不能在一定的時間內收到這樣的信息時,它就接管主伺服器的服務IP並繼續提供負載均衡服務;當備份管理器又從主管理器收到“I am alive”這樣的信息時,它就釋放服務IP地址,這樣的主伺服器就開始再次提供負載均衡服務。
1、keepalived+nginx實現主備
keepalived是集群管理中保證集群高可用的一個服務軟體,用來防止單點故障。
Keepalived的作用是檢測web伺服器的狀態,如果有一臺web伺服器死機,或工作出現故障,Keepalived將檢測到,並將有故障的web伺服器從系統中剔除,當web伺服器工作正常後Keepalived自動將web伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修複故障的web伺服器。
2、keepalived工作原理
keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗餘協議。
- 虛擬路由冗餘協議,可以認為是實現路由器高可用的協議,即將N台提供相同功能的路由器組成一個路由器組,這個組裡面有一個master和多個backup,master上面有一個對外提供服務的vip(VIP = Virtual IP Address,虛擬IP地址,該路由器所在區域網內其他機器的預設路由為該vip),master會發組播,當backup收不到VRRP包時就認為master宕掉了,這時就需要根據VRRP的優先順序來選舉一個backup當master。這樣的話就可以保證路由器的高可用了。
- keepalived主要有三個模塊,分別是core、check和VRRP。core模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的載入和解析。check負責健康檢查,包括常見的各種檢查方式。VRRP模塊是來實現VRRP協議的。
3、配置高可用集群
1、準備工作
- 需要兩台nginx伺服器
- 在兩台伺服器上安裝keepalived
2、完成主從配置
- 完成主從伺服器的keepalived的配置文件的編寫
- 給兩個伺服器加入檢測腳本