nginx 配置以及各模組使用介紹

2021-10-07 01:43:10 字數 2998 閱讀 8720

nginx 中文文件: 

nginx在做反向**時,提供效能穩定,並且能夠提供配置靈活的**功能。nginx可以根據不同的正則匹配,採取不同的**策略,比如檔案結尾的走檔案伺服器,動態頁面走web伺服器,只要你正則寫的沒問題,又有相對應的伺服器解決方案,你就可以隨心所欲的玩。並且nginx對返回結果進行錯誤頁跳轉,異常判斷等。如果被分發的伺服器存在異常,他可以將請求重新**給另外一台伺服器,然後自動去除異常伺服器。

nginx 是通過配置檔案來做到各個功能的實現的。

nginx 整體 結構如下: 

main(全域性設定):設定的指令將影響其他所有設定;

server(主機設定):指令主要用於指定主機和埠、

upstream(負載均衡伺服器設定):指令主要用於負載均衡,設定一系列的後端伺服器

location(url匹配特定位置的設定):用於匹配網頁位置。

這幾塊兒的配置關係: 

server 繼承 main,location 繼承 server, upstream 既不會繼承其他的配置,也不會被繼承。

這 4 部分的配置都包含了若干的指令,包括nginx 主模組指令、事件指令、http 核心模組指令。

可以參見: 

配置影響nginx全域性的指令。一般有執行nginx伺服器的使用者組,nginx程序pid存放路徑,日誌存放路徑,配置檔案引入,允許生成worker process數等。

user hhh hhh;  # 主模組指令,指定 nginx worker 程序執行以及使用者組

worker_processes auto; # 指定 nginx 要開啟的程序數,建議與 cpu數量一致

worker_rlimit_nofile 65535; # 用來繫結 worker 程序和 cpu。

error_log /data/hhh/logs/error.log; # 全域性錯誤日誌檔案

pid var/run/tengine.pid; #指定程序 pid 的儲存檔案位置

說明:

現在在linux2.6 核心下開啟檔案開啟數為65535,worker_rlimit_nofile 就相應應該填寫65535.這是因為nginx排程時請求到程序並不是那麼均衡,所以假如填寫10240,總併發量達到3-4萬時就有程序超過10240了,這就會返回502。

events事件指令是設定nginx的工作模式及連線數上限。

events
http 模組可以巢狀多個server,配置**,快取,日誌定義等絕大多數功能和第三方模組的配置。

一般情況下,會使用 include 將第三方的配置檔案引入到主配置檔案中,減少主配置檔案的複雜度。

比如: include  virtualhost/*.conf;

http
server 模組 配置虛擬主機的相關引數,乙個http中可以有多個server。

location模組 配置請求的路由,以及各種頁面的處理情況。

upstream 主要是配置負載均衡演算法。

########### 每個指令必須有分號結束。#################

#user administrator administrators; #配置使用者或者組,預設為nobody nobody。

#worker_processes 2; #允許生成的程序數,預設為1

#pid /nginx/pid/nginx.pid; #指定nginx程序執行檔案存放位址

error_log log/error.log debug; #制定日誌路徑,級別。這個設定可以放入全域性塊,http塊,server塊,級別以此為:debug|info|notice|warn|error|crit|alert|emerg

error_page 404 #錯誤頁

server }}

三、負載均衡

upstream這個配置的,作用是寫一組被**的伺服器位址,然後配置負載均衡的演算法。

nginx提供的負載均衡策略有2種:內建策略和擴充套件策略。內建策略為輪詢,加權輪詢,ip hash。擴充套件策略,就天馬行空,只有你想不到的沒有他做不到的啦,你可以參照所有的負載均衡演算法,給他一一找出來做下實現。

3.1  輪詢

輪詢:nginx預設就是輪詢其權重都預設為1,伺服器處理請求的順序:ababababab....

upstream mysvr
3.2 加權輪詢

跟據配置的權重的大小而分發給不同伺服器不同數量的請求。如果不設定,則預設為1。

下面伺服器的請求順序為:abbabbabbabbabb....

upstream mysvr
3.3 ip hash

nginx會讓相同的客戶端ip請求相同的伺服器。

3.4 熱備

當一台伺服器發生事故時,才啟用第二台伺服器提供服務。

upstream mysvr
4 tengine 

engine是由**網發起的web伺服器專案。它在nginx的基礎上,針對大訪問量**的需求,新增了很多高階功能和特性。tengine的效能和穩定性已經在大型的**如**網,天貓**等得到了很好的檢驗。它的最終目標是打造乙個高效、穩定、安全、易用的web平台。

官網: 

vuex各模組與步驟詳解以及使用

下面是官網提供的vuex的執行流程 vuex的特點 針對非非同步操作 components中可以不用store.dispatch,直接觸發action,再執行commit觸發mutation去改變state 針對非同步操作 components上store.dispatch乙個action,得到資料...

nginx的gzip模組詳解以及配置

1 gzip模組作用 gzip這個模組無論在測試環境還是生產環境都是必須要開啟,這個模組能高效的將頁面的內容,無論是html或者css js亦或是等都可以進行壓縮,節省了頻寬資源,也提高了 的載入速度,給瀏覽者帶來更優質的服務。2 啟用gzip 只要在nginx的配置檔案nginx.conf中去配置...

nginx各buffering的配置

一 接收客戶端client請求是的buffer配置 client header buffer size large client header buffers client body buffer size client max body size 二 反向 時的buffer配置 proxy buf...