Nginx學習筆記

2021-10-01 19:48:25 字數 2247 閱讀 8211

nginx

是一款自由的、開源的、高效能的http伺服器和反向**伺服器;

是乙個imap、pop3、smtp**伺服器;

可以作為乙個http伺服器進行**的發布處理,

可以作為反向**進行負載均衡的實現。

**操作過程:被**角色通過這個**訪問目標角色完成一些任務的過程

被**角色-->**-->目標角色

正向**:

最大的特點是客戶端非常明確要訪問的伺服器位址;

伺服器只清楚請求來自哪個**伺服器,而不清楚來自哪個具體的客戶端;

正向**模式遮蔽或者隱藏了真實客戶端資訊;

客戶端必須設定正向**伺服器(正向**伺服器的ip位址,還有**程式的埠)

正向**的用途:

(1)訪問原來無法訪問的資源,如google

(2) 可以做快取,加速訪問資源

(3)對客戶端訪問授權,上網進行認證

(4)**可以記錄使用者訪問記錄(上網行為管理),對外隱藏使用者資訊

反向**:

多個客戶端給伺服器傳送的請求,nginx伺服器接收到之後,按照一定的規則分發給了後端的業務處理伺服器進行處理了。此時,請求的**也就是客戶端是明確的,但是請求具體由哪台伺服器處理的並不明確了,nginx扮演的就是乙個反向**角色。

客戶端是無感知**的存在的,反向**對外都是透明的,訪問者並不知道自己訪問的是乙個**。因為客戶端不需要任何配置就可以訪問。

反向**,"它**的是服務端",主要用於伺服器集群分布式部署的情況下,反向**隱藏了伺服器的資訊。

負載均衡:

負載量:客戶端傳送的、nginx反向**伺服器接收到的請求數量。

均衡規則:請求數量按照一定的規則進行分發到不同的伺服器處理的規則。

負載均衡是指將伺服器接收到的請求按照規則分發的過程。

負載均衡在實際專案操作過程中,有硬體負載均衡和軟體負載均衡兩種,硬體負載均衡也稱為硬負載,如f5負載均衡,相對造價昂貴成本較高,但是資料的穩定性安全性等等有非常好的保障,如中國移動中國聯通這樣的公司才會選擇硬負載進行操作;更多的公司考慮到成本原因,會選擇使用軟體負載均衡,軟體負載均衡是利用現有的技術結合主機硬體實現的一種訊息佇列分發機制。

nginx支援的負載均衡排程演算法方式如下:

weight輪詢(預設,常用):接收到的請求按照權重分配到不同的後端伺服器,即使在使用過程中,某一台後端伺服器宕機,nginx會自動將該伺服器剔除出佇列,請求受理情況不會受到任何影響。 這種方式下,可以給不同的後端伺服器設定乙個權重值(weight),用於調整不同的伺服器上請求的分配率;權重資料越大,被分配到請求的機率越大;該權重值,主要是針對實際工作環境中不同的後端伺服器硬體配置進行調整的。

ip_hash(常用):每個請求按照發起客戶端的ip的hash結果進行匹配,這樣的演算法下乙個固定ip位址的客戶端總會訪問到同乙個後端伺服器,這也在一定程度上解決了集群部署環境下session共享的問題。

fair:智慧型調整排程演算法,動態的根據後端伺服器的請求處理到響應的時間進行均衡分配,響應時間短處理效率高的伺服器分配到請求的概率高,響應時間長處理效率低的伺服器分配到的請求少;結合了前兩者的優點的一種排程演算法。但是需要注意的是nginx預設不支援fair演算法,如果要使用這種排程演算法,請安裝upstream_fair模組。

url_hash:按照訪問的url的hash結果分配請求,每個請求的url會指向後端固定的某個伺服器,可以在nginx作為靜態伺服器的情況下提高快取效率。同樣要注意nginx預設不支援這種排程演算法,要使用的話需要安裝nginx的hash軟體包。

對比項\伺服器apachenginxlighttpd

proxy**

非常好非常好

一般rewriter

好非常好

一般fcgi不好好

非常好熱部署

不支援支援

不支援系統壓力

很大很小

比較小穩定性

好非常好

不好安全性好一般

一般靜態檔案處理

一般非常好

好反向**

一般非常好

一般nginx能幹什麼?

nginx配置詳解

nginx**功能與負載均衡詳解

Nginx 學習筆記

nginx配置proxy pass 的 路徑問題 在nginx中配置proxy pass時,如果是按照 匹配路徑時,要注意proxy pass後的url最後的 當加上了 相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分 走 如果沒有 則會把匹配的路徑部分也給 走。locatio...

Nginx學習筆記

常用命令 啟動 start nginx 或者 nginx.exe 停止 nginx.exe s stop 或者 nginx.exe s quit stop是快速停止nginx,quit是完整有序的停止nginx 重啟 nginx.exe s reload 配置資訊修改使用此命令 配置 1 匹配以ro...

nginx學習筆記

mac os x 10.11.5環境 brew install nginx 即可。預設安裝目錄 usr local etc nginx。可以修改目錄下nginx.conf檔案的配置,將8080改為8081,則通過http localhost 8081訪問就可以看到nginx的歡迎介面了。主程序可以處...