2、Nginx配置實例

Nginx配置實例

1、反向代理

實例一

一、實現效果html

打開瀏覽器,在瀏覽器地址欄輸入地址 www.123.com ,跳轉到linux系統tomcat主頁面中。linux

二、準備工做nginx

  • 在linux系統中安裝tomcat,使用默認端口8080

三、訪問過程分析web

在瀏覽器地址欄輸入地址,請求nginx反向代理服務器,nginx幫助咱們將請求轉發到linux中的tomcat服務器。windows

四、具體配置後端

  • 在windows系統的host文件中進行域名和ip對應關係的配置
  • 在nginx進行請求轉發的配置

實例二

一、實現效果瀏覽器

使用nginx反向代理,根據訪問的路徑不一樣跳轉到不一樣的端口服務中去。tomcat

nginx監聽端口9001服務器

訪問 http://192.168.196.132:9001/edu/ 直接跳轉到127.0.0.1:8080app

訪問 http://192.168.196.132:9001/vod/ 直接跳轉到127.0.0.1:8081

二、準備工做

  • 準備兩個tomcat服務器,一個8080端口,一個8081端口
  • 建立文件夾和測試頁面

三、具體配置

  • 在nginx的配置文件中進行反向代理的配置

2、負載均衡

一、實現效果

瀏覽器地址欄輸入 http://192.168.196132/edu/a.html ,負載均衡的平均分發到監聽8080端口和8081端口的兩個tomcat服務器

二、準備工做

  • 準備兩臺tomcat服務器,一臺8080,一臺8081
  • 在兩臺tomcat裏面webapps目錄中,建立名稱是edu的文件夾,在文件夾中建立頁面a.html,用於測試

三、具體配置

四、nginx負載均衡策略

  • 輪詢(默認):每一個請求按時間順序逐一分配到不一樣的後端服務器
  • weight:權重默認值爲1,權重越高被分配的客戶端越多
  • ip_hash:每一個請求按訪問ip的hash結果分配,這樣每一個訪客固定訪問一個後端服務器

3、動靜分離

nginx動靜分離簡單來講就是把動態跟靜態請求分開,不能理解成知識單純的把動態頁面和靜態頁面物理分離,嚴格意義上說應該是動態請求跟靜態請求分開,能夠理解成使用nginx處理靜態頁面,tomcat處理動態頁面,動靜分離從目前實現角度大體分爲兩種,第一種是純粹把靜態文件獨立成單獨的域名,放在獨立的服務器上,也是目前主流推崇的方案;另外一種方法就是動態跟靜態文件混合一塊兒發佈,經過nginx來分開。

一、準備工做

  • 在linux系統中準備一些靜態資源,用於進行訪問

二、具體配置

4、高可用集羣

nginx做爲負載均衡器,全部請求都到了nginx,可見nginx處於很是重點的位置,若是nginx服務器宕機後端web服務將沒法提供服務,影響嚴重。

爲了屏蔽負載均衡服務器的宕機,須要創建一個備份機。主服務器和備份機上都運行高可用(High Availability)監控程序,經過傳送諸如「I am alive」這樣的信息來監控對方的運行情況。當備份機不能在必定的時間內收到這樣的信息時,它就接管主服務器的服務IP並繼續提供負載均衡服務;當備份管理器又從主管理器收到「I am alive」這樣的信息時,它就釋放服務IP地址,這樣的主服務器就開始再次提供負載均衡服務。

一、keepalived+nginx實現主備

keepalived是集羣管理中保證集羣高可用的一個服務軟件,用來防止單點故障。

Keepalived的做用是檢測web服務器的狀態,若是有一臺web服務器死機,或工做出現故障,Keepalived將檢測到,並將有故障的web服務器從系統中剔除,當web服務器工做正常後Keepalived自動將web服務器加入到服務器羣中,這些工做所有自動完成,不須要人工干涉,須要人工作的只是修復故障的web服務器。

二、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協議的。

三、配置高可用集羣

一、準備工做

  • 須要兩臺nginx服務器
  • 在兩臺服務器上安裝keepalived

二、完成主從配置

  • 完成主從服務器的keepalived的配置文件的編寫
  • 給兩個服務器加入檢測腳本
相關文章
相關標籤/搜索