1.nginx的優(yōu)點
高并發(fā)連接:官方測試能夠支撐5萬并發(fā)連接,在實際生產(chǎn)環(huán)境中跑到2-3萬并發(fā)連接數(shù)
內(nèi)存消耗少:在3萬并發(fā)連接下,開啟的10個nginx進程才消耗150M內(nèi)存(15M*10=150M)
配置文件非常簡單:風格跟程序一樣通俗易懂
成本低廉:nginx為開源軟件,可以免費使用。而購買F5 BIG-IP、NetScaler等硬件負載均衡交換機則需要十多萬至幾十萬人民幣
支持Rewrite重寫規(guī)則:能夠根據(jù)域名、URL的不同,將HTTP請求分到不同的后端服務器群組
內(nèi)置的健康檢查功能:如果Nginx Proxy后端的某臺Web服務器宕機了,不會影響前端訪問
節(jié)省帶寬:支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭
穩(wěn)定性高:用于反向代理,宕機的概率微乎其微
模塊化設計:模塊可以動態(tài)編譯
外圍支持好:文檔全,二次開發(fā)和模塊較多
支持熱部署:可以不停機重載配置文件
支持事件驅(qū)動、AIO(AsyncIO,異步IO)、mmap(Memory Map,內(nèi)存映射)等性能優(yōu)化
2.nginx反向代理
多個客戶端給服務器發(fā)送的請求,Nginx服務器接收到之后,按照一定的規(guī)則分發(fā)給了后端的業(yè)務處理服務器進行處理了。此時請求的來源也就是客戶端是明確的,但是請求具體由哪臺服務器處理的并不明確了,Nginx扮演的就是一個反向代理角色。
客戶端是無感知代理的存在的,反向代理對外都是透明的,訪問者并不知道自己訪問的是一個代理。因為客戶端不需要任何配置就可以訪問。
反向代理,“它代理的是服務端”,主要用于服務器集群分布式部署的情況下,反向代理隱藏了服務器的信息。