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