Nginx可以做什麼?

2021-09-22 13:59:42 字數 2821 閱讀 8247

nginx能做什麼

——反向**

——負載均衡

——http伺服器(動靜分離)

——正向**

以上就是我了解到的nginx在不依賴第三方模組能處理的事情,下面詳細說明每種功能怎麼做。

反向**

下面貼上一段簡單的實現反向**的**

儲存配置檔案後啟動nginx,這樣當我們訪問localhost的時候,就相當於訪問localhost:8080了

負載均衡

負載均衡也是nginx常用的乙個功能,負載均衡其意思就是分攤到多個操作單元上進行執行,例如web伺服器、ftp伺服器、企業關鍵應用伺服器和其它關鍵任務伺服器等,從而共同完成工作任務。簡單而言就是當有2臺或以上伺服器時,根據規則隨機的將請求分發到指定的伺服器上處理,負載均衡配置一般都需要同時配置反向**,通過反向**跳轉到負載均衡。而nginx目前支援自帶3種負載均衡策略,還有2種常用的第三方策略。

1、rr(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

簡單配置

負載均衡的核心**為

這裡我配置了2臺伺服器,當然實際上是一台,只是埠不一樣而已,而8081的伺服器是不存在的,也就是說訪問不到,但是我們訪問http://localhost 的時候,也不會有問題,會預設跳轉到http://localhost:8080 具體是因為nginx會自動判斷伺服器的狀態,如果伺服器處於不能訪問(伺服器掛了),就不會跳轉到這台伺服器,所以也避免了一台伺服器掛了影響使用的情況,由於nginx預設是rr策略,所以我們不需要其他更多的設定。

2、權重

指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。

例如

那麼10次一般只會有1次會訪問到8081,而有9次會訪問到8080

3、ip_hash

上面的2種方式都有乙個問題,那就是下乙個請求來的時候請求可能分發到另外乙個伺服器,當我們的程式不是無狀態的時候(採用了session儲存資料),這時候就有乙個很大的很問題了,比如把登入資訊儲存到了session中,那麼跳轉到另外一台伺服器的時候就需要重新登入了,所以很多時候我們需要乙個客戶只訪問乙個伺服器,那麼就需要用iphash了,iphash的每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。

4、fair(第三方)

按後端伺服器的響應時間來分配請求,響應時間短的優先分配。

5、url_hash(第三方)

按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。 在upstream中加入hash語句,server語句中不能寫入weight等其他的引數,hash_method是使用的hash演算法

以上5種負載均衡各自適用不同情況下使用,所以可以根據實際情況選擇使用哪種策略模式,不過fair和url_hash需要安裝第三方模組才能使用,由於本文主要介紹nginx能做的事情,所以nginx安裝第三方模組不會再本文介紹

http伺服器

nginx本身也是乙個靜態資源的伺服器,當只有靜態資源的時候,就可以使用nginx來做伺服器,同時現在也很流行動靜分離,就可以通過nginx來實現,首先看看nginx做靜態資源伺服器

這樣如果訪問http://localhost 就會預設訪問到e盤wwwroot目錄下面的index.html,如果乙個**只是靜態頁面的話,那麼就可以通過這種方式來實現部署。

動靜分離

動靜分離是讓動態**裡的動態網頁根據一定規則把不變的資源和經常變的資源區分開來,動靜資源做好了拆分以後,我們就可以根據靜態資源的特點將其做快取操作,這就是**靜態化處理的核心思路

這樣我們就可以吧html以及和css以及js放到wwwroot目錄下,而tomcat只負責處理jsp和請求,例如當我們字尾為gif的時候,nginx缺省會從wwwroot獲取到當前請求的動態**件返回,當然這裡的靜態檔案跟nginx是同一臺伺服器,我們也可以在另外一台伺服器,然後通過反向**和負載均衡配置過去就好了,只要搞清楚了最基本的流程,很多配置就很簡單了,另外localtion後面其實是乙個正規表示式,所以非常靈活

正向**

resolver是配置正向**的dns伺服器,listen 是正向**的埠,配置好了就可以在ie上面或者其他**外掛程式上面使用伺服器ip+埠號進行**了。

出處:

Nginx都可以做什麼?

本文只針對 nginx 在不載入第三方模組的情況能處理哪些事情?nginx 是乙個高效能的 http 和反向 伺服器,同時也是乙個 imap pop3 smtp 伺服器。1.反向 2.負載均衡 3.http 伺服器 4.動靜分離 5.正向 反向 客戶端是無感知 的存在,以 伺服器來接受interne...

GIS可以做什麼

gis簡介 gis可以做什麼?進行地理資訊查詢和分析 gis搜尋資料庫並進行地理資訊查詢的能力,節約了許多公司數以百萬計的金錢。gis可以 房地產經紀人可以用gis在一定的區域內尋找滿足下列條件的所有房屋 瓦蓋的屋頂 五個房間,並可列出它們的所有特點 查詢可以通過增加準則來進一步細化 可以列出這些房...

GIS可以做什麼?

進行地理資訊查詢和分析 gis搜尋資料庫並進行地理資訊查詢的能力,節約了許多公司數以百萬計的美元。gis可以 房地產經紀人可以用gis在一定的區域內尋找滿足下列條件的所有房屋 瓦蓋的屋頂 五個房間,並可列出它們的所有特點。查詢可以通過增加準則來進一步細化 房價必須每平方英呎少於100美元。還可以列出...