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不間斷執行,即使執行數個月也不需要重新啟動。你還能夠在 不間斷服務的情況下進行軟體版本的升級。