NGINX有什麼不同? NGINX使用可擴展的事件驅動架構,而不是更傳統的過程驅動架構。 這需要更低的記憶體佔用,並且當併發連接擴大時,使記憶體使用更可預測。
在傳統的Web伺服器體系結構中,每個客戶端連接作為一個單獨的進程或線程處理,隨著網站的流行度增加,併發連接數量的增加,Web伺服器減慢,延遲了對用戶的回應。
從技術的角度來看,產生一個單獨的進程/線程需要將CPU切換到新的任務並創建一個新的運行時上下文,消耗額外的記憶體和CPU時間,從而對性能產生負面影響。
NGINX開發的目標是實現10
倍以上的性能,優化伺服器資源的使用,同時也能夠擴展和支持網站的動態增長。 因此,NGINX成為最知名的模組化,事件驅動,非同步,單線程Web伺服器和Web代理之一。
Nginx 是一個高性能的 Web 和反向代理伺服器, 它具有有很多非常優越的特性:
作為 Web 伺服器:相比 Apache,Nginx 使用更少的資源,支持更多的併發連接,體現更高的效率,這點使 Nginx 尤其受到虛擬主機提供商的歡迎。能夠支持高達 50,000 個併發連接數的回應,感謝 Nginx 為我們選擇了 epoll and kqueue 作為開發模型.
作為負載均衡伺服器:Nginx 既可以在內部直接支持 Rails 和 PHP,也可以支持作為 HTTP代理伺服器 對外進行服務。Nginx 用 C 編寫, 不論是系統資源開銷還是 CPU 使用效率都比 Perlbal 要好的多。
作為郵件代理伺服器: Nginx 同時也是一個非常優秀的郵件代理伺服器(最早開發這個產品的目的之一也是作為郵件代理伺服器),Last.fm 描述了成功並且美妙的使用經驗。
Nginx 安裝非常的簡單,配置檔 非常簡潔(還能夠支持perl語法),Bugs非常少的伺服器: Nginx 啟動特別容易,並且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動。你還能夠在 不間斷服務的情況下進行軟體版本的升級。