Nginx有哪些有趣的玩法?

老兵東雷


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格還是可以的。


以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!


網絡圈


大多是圍繞這web請求而玩的,列舉一些:

1 負載均衡,保證服務穩定和快速這個常見,不多言

2 代理服務,可以通過它訪問別的資源,甚至緩存起來這個可以緩存第三方網站內容作為自己的內容比如 http://a.com/b.jpg可以設定為 http://your.com/a.com/b.jpg rewrite並且訪問http://a.com,並且緩存

3 cdn角色,緩存並且自動更新這個可以去掉請求的部分內容,也可以去掉響應的部分頭信息常用可以做一箇中間的server,去掉set-cookie內容,這樣就可以緩存起來了,默認是緩存不了,修改後就不用修改後端服務器了

4 和memcache結合,直接緩存網頁內容,快速響應5 自動裁剪圖片,做縮略圖6 對客戶端限速處理7 第三方組件更多特色玩法了


分享到:


相關文章: