Nginx相比Apache的優點如下:
1、最核心的區別在于apache是同步多進程模型,一個連接對應一個進程;而nginx則是異步的,多個連接可以對應一個進程。
2、作為大家常用的 Web 服務器:Nginx 使用更少的資源,可以支持更多的并發連接,體現出更高的效率,這個優點使Nginx尤其受到虛擬主機提供商的歡迎。而且在高連接并發的情況下,Nginx是Apache服務器不錯的替代品,Nginx在美國是做虛擬主機生意的大佬們經常選擇的軟件平臺之一。能夠支持高達50000個并發連接數的響應, 感謝Nginx為我們選擇了epoll and kqueue作為開發模型。Nginx作為負載均衡服務器既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作為HTTP代理服務器對外進行服務。Nginx采用C進行編寫, 不論是系統資源開銷還是CPU使用效率都比Perlbal 要好很多。
3、Nginx 配置更加簡潔, Apache則比較復雜 ,Nginx服務器啟動特別容易, 并且幾乎可以做到7天24小時不間斷運行,即使運行好幾個月也不需要重新啟動。還可以不間斷服務的情況下進行軟件版本的升級 。Nginx靜態處理性能比Apache高好幾倍,Apache對PHP支持比較簡單,Nginx 需要配合其他后端來使用,Apache的組件比 Nginx多。
4、nginx的最大優勢是處理靜態請求,cpu的內存使用率會很低,apache適合處理動態請求,所以現在一般前端用nginx作為反向代理抗住壓力,apache作為后端處理動態請求。
5、更加輕量級,同樣起web服務器,比apache占用更少的內存及資源抗并發,nginx處理請求是異步非阻塞的,而apache則是阻塞型的,在高并發下nginx 能保持低資源低消耗高性能高度模塊化的設計,編寫模塊相對簡單社區活躍,各種高性能模塊出品迅速啊。