1. 程式人生 > >淺談Nginx與Apache的區別

淺談Nginx與Apache的區別


1、Nginx是一個很強大的高效能Web、郵件和反向代理伺服器,它具有很多非常優越的特性,
在連線高併發的情況下,Nginx是Apache伺服器不錯的替代品。
2、單機能夠支援高達50000個併發連線數的響應,中國大陸使用nginx網站使用者有:
百度、京東、新浪、網易、騰訊、淘寶等。
3、nginx這個伺服器是有俄羅斯人民發明的

  • Nginx優點

    1、支援高併發:能支援幾萬(5w多)併發連線(特別是靜態小檔案業務環境)
    2、資源消耗少:在3萬併發連線下,開啟10個Nginx執行緒消耗的記憶體不到200MB
    3、可以做HTTP反向代理及加速快取,即負載均衡功能,內建對節點伺服器健康檢查功能,
    這相當於專業的HAProxy軟體或LVS的功能
    4
    、具備Squid等專業快取軟體等的快取功能 5、支援非同步網路I/O事件模型epoll(Linux 2.6+) 6、支援PUT、DELETE、POST、GET等較特殊的HTTP請求方法。($_SERVER['REQUEST_METHOD']) 7、支援FLV流和MP4流技術產品應用 8、支援keepalived

與Apache區別

  • Nginx

    1、輕量級,採用 C 進行編寫,同樣的 web 服務,會佔用更少的記憶體及資源
    2、抗併發,nginx以epoll/kqueue作為開發模型,處理請求是非同步非阻塞的,負載能力比
    apache高很多,而apache則是阻塞型的。在高併發下nginx能保持低資源低消耗高效能,
    而apache在PHP處理慢或者前端壓力很大時,很容易出現程序數飆升,從而拒絕服務的現象。
    3
    、nginx 處理靜態檔案好,靜態處理效能比 apache 高三倍以上 4、nginx 的設計高度模組化,編寫模組相對簡單 5、nginx 配置簡潔,正則配置讓很多事情變得簡單,apache配置複雜(配置出錯,會很崩潰) 6、nginx 可作為負載均衡伺服器 7、nginx 本身就是一個反向代理伺服器,而且可以作為非常優秀的郵件代理伺服器 8、啟動特別容易,並且幾乎可以做到7*24不間斷執行,即使執行數個月也不需要重新啟動, 還能夠不間斷服務的情況下進行軟體版本的升級 9、社群活躍,各種高效能模組出品迅速
  • Apache

    1、apache 的 rewrite 比 nginx 強大,在 rewrite 頻繁的情況下,用 apache
    2、apache 發展到現在,模組超多,基本想到的都可以找到
    3、apache 更為成熟,少 bug ,nginx 的 bug 相對較多
    4、apache 超穩定
    5、apache 對 PHP 支援比較簡單,nginx 需要配合其他後端用
    6、apache 在處理動態請求有優勢,nginx 在這方面是雞肋,一般動態請求要apache去做,
    nginx適合靜態和反向。
    7、apache 仍然是目前的主流,擁有豐富的特性,成熟的技術和開發社群