終于有人把Nginx說清楚了,圖文詳解!
想必大家一定聽說過Nginx,若沒聽說過它,那么一定聽過它的“同行”Apache吧!
![終于有人把Nginx說清楚了,圖文詳解!](http://haohuigou.com/wp-content/themes/module/themer/assets/images/lazy.png)
- Nginx使用基于事件驅(qū)動架構(gòu),使得其可以支持?jǐn)?shù)以百萬級別的TCP連接
- 高度的模塊化和自由軟件許可證使得第三方模塊層出不窮(這是個開源的時代啊~)
- Nginx是一個跨平臺服務(wù)器,可以運行在Linux,Windows,F(xiàn)reeBSD,Solaris,AIX,Mac OS等操作系統(tǒng)上
- 這些優(yōu)秀的設(shè)計帶來的是極大的穩(wěn)定性
![終于有人把Nginx說清楚了,圖文詳解!](http://haohuigou.com/wp-content/themes/module/themer/assets/images/lazy.png)
![終于有人把Nginx說清楚了,圖文詳解!](http://haohuigou.com/wp-content/themes/module/themer/assets/images/lazy.png)
- 訪問原來無法訪問的資源,如Google
- 可以做緩存,加速訪問資源
- 對客戶端訪問授權(quán),上網(wǎng)進行認證
- 代理可以記錄用戶訪問記錄(上網(wǎng)行為管理),對外隱藏用戶信息
![終于有人把Nginx說清楚了,圖文詳解!](http://haohuigou.com/wp-content/themes/module/themer/assets/images/lazy.png)
- 保證內(nèi)網(wǎng)的安全,通常將反向代理作為公網(wǎng)訪問地址,Web服務(wù)器是內(nèi)網(wǎng)
- 負載均衡,通過反向代理服務(wù)器來優(yōu)化網(wǎng)站的負載
![終于有人把Nginx說清楚了,圖文詳解!](http://haohuigou.com/wp-content/themes/module/themer/assets/images/lazy.png)
![終于有人把Nginx說清楚了,圖文詳解!](http://haohuigou.com/wp-content/themes/module/themer/assets/images/lazy.png)
- 在正向代理中,Proxy和Client同屬于一個LAN(圖中方框內(nèi)),隱藏了客戶端信息;
- 在反向代理中,Proxy和Server同屬于一個LAN(圖中方框內(nèi)),隱藏了服務(wù)端信息;
![終于有人把Nginx說清楚了,圖文詳解!](http://haohuigou.com/wp-content/themes/module/themer/assets/images/lazy.png)
- weight輪詢(默認,常用,具有HA功效!):接收到的請求按照權(quán)重分配到不同的后端服務(wù)器,即使在使用過程中,某一臺后端服務(wù)器宕機,Nginx會自動將該服務(wù)器剔除出隊列,請求受理情況不會受到任何影響。這種方式下,可以給不同的后端服務(wù)器設(shè)置一個權(quán)重值(weight),用于調(diào)整不同的服務(wù)器上請求的分配率;權(quán)重數(shù)據(jù)越大,被分配到請求的幾率越大;該權(quán)重值,主要是針對實際工作環(huán)境中不同的后端服務(wù)器硬件配置進行調(diào)整的。
- ip_hash(常用):每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務(wù)器,這也在一定程度上解決了集群部署環(huán)境下session共享的問題。
- fair:智能調(diào)整調(diào)度算法,動態(tài)的根據(jù)后端服務(wù)器的請求處理到響應(yīng)的時間進行均衡分配,響應(yīng)時間短處理效率高的服務(wù)器分配到請求的概率高,響應(yīng)時間長處理效率低的服務(wù)器分配到的請求少;結(jié)合了前兩者的優(yōu)點的一種調(diào)度算法。但是需要注意的是Nginx默認不支持fair算法,如果要使用這種調(diào)度算法,請安裝upstream_fair模塊。
- url_hash:按照訪問的url的hash結(jié)果分配請求,每個請求的url會指向后端固定的某個服務(wù)器,可以在Nginx作為靜態(tài)服務(wù)器的情況下提高緩存效率。同樣要注意Nginx默認不支持這種調(diào)度算法,要使用的話需要安裝Nginx的hash軟件包。
Web服務(wù)器對比
幾種常用Web服務(wù)器對比如下表:
![終于有人把Nginx說清楚了,圖文詳解!](http://haohuigou.com/wp-content/themes/module/themer/assets/images/lazy.png)
原文鏈接:https://www.cnblogs.com/wcwnina/p/8728391.html 轉(zhuǎn)自:分布式實驗室