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、動靜分離
通過Nginx可以將動態請求與靜態請求分開,在服務器端做不同的策略,比如靜態資源設置很長的緩存時間,動態請求轉發至后端服務器(如通過FastCGI)。
5、自定義響應頭
可以在Nginx上自定義響應頭,比如將Nginx的版本號、服務器標識信息改為自己的,用來裝B格還是可以的。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!