Nginx好還是Apache好 Apache和Nginx的優缺點對比

Nginx和Apche是我們常用的Web服務器軟件,它們可以爲許多不同的服務器配置提供良好的性能,但兩者適應的場景有所不同,那麼是Nginx好還是Apche好?本文簡單介紹了有關Apche和Nginx的優缺點對比,希望對大家有所幫助。

一、Apche和Nginx介紹

Apche(音譯爲阿帕奇)是目前世界使用排名第一的Web服務器軟件,它可以在大多數服務器(國內服務器或海外服務器)操作系統中運行,由於其多平臺和安全性被廣泛使用。Apche幾乎是所有流行的Linux發行版上的預安裝軟件,許多系統管理員也喜歡Apche的可定製性及通過加載各種模塊來創建自己的服務器。

Nginx(engine x)是一箇高性能的HTTP和反向代理Web服務器,同時也提供了IMAP/POP3/SMTP服務。與Apche相比,它雖然起步晚,但在性能上一點不遜色,能與靜態文件配合得很好,並且可執行負載均衡器和反向代理功能,非常適用於現代網絡。

二、Apche和Nginx的優缺點對比

、連接和請求處理

Nginx擁有優秀的架構設計,包括模塊化設計、事件驅動架構、請求的多階段異步處理、管理進程與多工作進程設計等,這意味着它可以在有可用資源時一次處理多箇請求,預計一次有數千次的連接,性能優越。

相反,Apche通過多箇多處理模塊(MPM)一次處理一箇事件,該mpm_pefok模塊是一箇常見的模塊,它會爲每個事件生成子進程,並且一次只處理一箇連接。

2、靜態與動態內容的請求處理

Nginx通常不能以原生方式處理動態內容,它需將其發送到外部處理器(比如緩存),然後等待返回,再將內容進行移動,在動態內容請求處理時可能比不上Apche,但在靜態資源處理上,Nginx性能會更好。

3、配置服務器

Nginx與Apche之間一箇明顯的區別在於如何配置每個服務器。Nginx採用集中式方式,這意味着用戶無法在一箇主文件之外配置服務器,不需要處理請求來檢查每個目錄中的配置文件,縮短了請求處理時間,具有更高的性能。

Apche允許通過放置在Web樹中的特殊文件來分散管理配置,該特殊文件通常稱爲.htccess文件,它發出請求時,Apche將檢查文件路徑的每個元素,這種分散方法能夠使WodPess等內容管理系統(CMS)在Apche服務器上提供良好的性能。