Nginx是一款十分優秀、輕量級、高效能的HTTP和反向代理伺服器,它在Windows Server、Linux和macOS上都能穩定執行,在業內的口碑和市場佔有率極高。
那Nginx是不是僅僅用來搭搭WEB服務的呢?其實不是的,Nginx用處遠不止這些,還有很多高階用法,下面來給大家分享一些。
1、Nginx + Lua
Nginx支援Lua指令碼,透過Lua我們可以對Nginx進行擴充套件,比如說:
讓Nginx直接操作MySQL;
讓Nginx直接操作Redis;
圖片裁剪;
請求合併;
對使用者提交的資料進行過濾等。
2、負載均衡
將Nginx作為前端負載伺服器,可以將流量分發至後端伺服器,Nginx的負載均衡策略主要有:
輪詢:透過輪詢方式來分配請求;
weight:透過給不同後端節點伺服器指定權重來實現負載,權重高的對應的流量也會高一些;
ip_hash:將每個請求的ip進行hash計算,然後分配到後端伺服器上,這樣能保證同一個IP的請求始終是分配在同一臺後端節點伺服器上,會話狀態可以保持;
url_hash:按照訪問的url來進行hash計算,然後分配至節點伺服器;
fair:這種是根據上游伺服器響應時間來分配請求,優先將請求分給響應時間短的節點伺服器。
3、反向代理
比如說我們將某個目錄直接反向至某個站點上去。
再者可以將Nginx加在Apache、Tomcat、IIS之前。
4、動靜分離
5、自定義響應頭
可以在Nginx上自定義響應頭,比如將Nginx的版本號、伺服器標識資訊改為自己的,用來裝B格還是可以的。
Nginx是一款十分優秀、輕量級、高效能的HTTP和反向代理伺服器,它在Windows Server、Linux和macOS上都能穩定執行,在業內的口碑和市場佔有率極高。
那Nginx是不是僅僅用來搭搭WEB服務的呢?其實不是的,Nginx用處遠不止這些,還有很多高階用法,下面來給大家分享一些。
1、Nginx + Lua
Nginx支援Lua指令碼,透過Lua我們可以對Nginx進行擴充套件,比如說:
讓Nginx直接操作MySQL;
讓Nginx直接操作Redis;
圖片裁剪;
請求合併;
對使用者提交的資料進行過濾等。
2、負載均衡
將Nginx作為前端負載伺服器,可以將流量分發至後端伺服器,Nginx的負載均衡策略主要有:
輪詢:透過輪詢方式來分配請求;
weight:透過給不同後端節點伺服器指定權重來實現負載,權重高的對應的流量也會高一些;
ip_hash:將每個請求的ip進行hash計算,然後分配到後端伺服器上,這樣能保證同一個IP的請求始終是分配在同一臺後端節點伺服器上,會話狀態可以保持;
url_hash:按照訪問的url來進行hash計算,然後分配至節點伺服器;
fair:這種是根據上游伺服器響應時間來分配請求,優先將請求分給響應時間短的節點伺服器。
3、反向代理
比如說我們將某個目錄直接反向至某個站點上去。
再者可以將Nginx加在Apache、Tomcat、IIS之前。
4、動靜分離
5、自定義響應頭
可以在Nginx上自定義響應頭,比如將Nginx的版本號、伺服器標識資訊改為自己的,用來裝B格還是可以的。