Nginx和Apache的優(yōu)缺點(diǎn)對比分析

2023-06-22    分類: 網(wǎng)站建設(shè)

Nginx 或 Apache,我應(yīng)該選擇哪個 Web 服務(wù)器?這是我們的香港服務(wù)器租用客戶經(jīng)常面臨的問題,特別是當(dāng)他們開始搭建業(yè)務(wù)或他們現(xiàn)有的 Web 服務(wù)器產(chǎn)生問題時更是如此。作為 Web 托管、專精香港服務(wù)器租用托管服務(wù)商的技術(shù)支持服務(wù),安裝、配置和管理 Web 服務(wù)器是我們?yōu)榭蛻魣?zhí)行的重要任務(wù)。

在 Web 服務(wù)器中,Apache 和 Nginx 是 Linux 平臺的頂級廠商。但選擇 Web 服務(wù)器并不是盲目完成的。您要使用的 Web 服務(wù)器的選擇取決于運(yùn)行的網(wǎng)站類型和服務(wù)器規(guī)范。在我們管理的香港服務(wù)器中,我們根據(jù) 7 個主要方面決定 Web 服務(wù)器。


一、穩(wěn)定性

由于內(nèi)存不足,您的服務(wù)器是否經(jīng)常崩潰?您不能一味地給您的香港服務(wù)器添加越來越多的內(nèi)存,因?yàn)樗槐阋嘶蛘卟⒎情L期修復(fù)策略。

耗盡內(nèi)存的罪魁禍?zhǔn)资?Web 服務(wù)器。在內(nèi)存使用方面,與 Nginx Web 服務(wù)器相比,Apache 是流氓。Apache 配置為通過為每個連接創(chuàng)建進(jìn)程來處理連接。這些單線程進(jìn)程中的每一個都分配了一定量的內(nèi)存。因此,當(dāng)流量激增時,會有太多的 Web 服務(wù)器請求進(jìn)入。這會導(dǎo)致更多進(jìn)程激活,從而導(dǎo)致內(nèi)存占用并導(dǎo)致服務(wù)器崩潰。

通過將 Apache 的 MPM 模塊從 pre-fork 切換到 worker,我們可以減少內(nèi)存開銷。但如果內(nèi)存仍然存在問題,我們會考慮切換到 Nginx Web 服務(wù)器。Nginx 使用單線程來處理 Web 服務(wù)器連接。即使連接增加,也不會生成新線程。這有助于節(jié)省內(nèi)存并避免崩潰。

因此,對于在內(nèi)存受限的服務(wù)器實(shí)例(如 VPS)中運(yùn)行網(wǎng)站的 Web 托管提供商,我們將 Nginx 配置為 Web 服務(wù)器以避免崩潰。


二、速度

Apache Web 服務(wù)器基于進(jìn)程。但 Nginx 基于事件。因此,當(dāng) Web 服務(wù)器請求數(shù)量增加時,Apache 需要啟動更多進(jìn)程。進(jìn)程數(shù)量的增加會使 CPU 過載。Web 服務(wù)器性能受到影響。并且網(wǎng)站開始因流量而變慢,并且需要花費(fèi)很長時間才能加載。

而 Nginx 旨在即使在流量激增的情況下也能提供穩(wěn)定性能。它只需要為每個 CPU 運(yùn)行一個進(jìn)程,而不是每個連接一個進(jìn)程。由于其基于事件的設(shè)計結(jié)構(gòu),Nginx 可以同時處理比 Apache 可處理的請求多 4 倍的請求。這有助于避免服務(wù)器中的負(fù)載峰值。因此,對于需要處理不斷增加的 Web 流量的服務(wù)器,我們將 Nginx 配置為 Web 服務(wù)器。對于具有穩(wěn)定流量和 CPU 使用率的服務(wù)器,Apache 足以處理請求。


 三、可擴(kuò)展性

Apache 使用一個進(jìn)程來處理一個 Web 服務(wù)器連接。因此,與 Apache Web 服務(wù)器同時可能的連接數(shù)量是有限的。但在 Nginx 中,每個工作進(jìn)程可以同時處理數(shù)千個 Web 服務(wù)器連接。在硬件限制內(nèi),Nginx 可以輕松擴(kuò)展以適應(yīng)不斷增加的流量,這是 Apache 無法做到的。


四、安全

Apache 和 Nginx 都有一個安全的代碼庫,但它們都會間歇性地受到安全漏洞的攻擊。憑借其集中的單一配置管理,Nginx 比 Apache 更安全。在我們管理的 Web 服務(wù)器中,我們在 Apache 和 Nginx 中配置其他安全模塊和強(qiáng)化工具,以進(jìn)一步保護(hù)它們以避免漏洞利用。


Nginx 和 Apache 的優(yōu)缺點(diǎn)對比分析


五、定制

在 Apache 中,有一個名為 httpd.conf 的主配置文件,用于全局服務(wù)器配置。此外,用戶可以選擇管理自己的配置參數(shù)。這是在目錄中的 .htaccess 文件的幫助下完成的。用戶可以使用此文件設(shè)置重定向規(guī)則,密碼保護(hù),目錄列表,限制等。

但在 Nginx 中,使用 nginx.conf 文件只能進(jìn)行集中配置。所有更改都將由服務(wù)器管理員進(jìn)行,并且各個用戶無法覆蓋這些設(shè)置。因此,在共享 Web 托管(例如共享虛擬主機(jī))中,每次都很難調(diào)整主配置文件中的每個用戶設(shè)置,而 Apache 具有 .htaccess 自定義功能,因此選 Apache。但是,解析目錄級配置文件可能是 Apache Web 服務(wù)器的開銷,從而進(jìn)一步降低速度。在這種情況下,我們會根據(jù)用戶要求限制此功能。


六、網(wǎng)站類型

網(wǎng)站文件有兩種類型:靜態(tài)和動態(tài)。靜態(tài)文件包括 CSS,JS,圖像等,不需要任何實(shí)時處理。動態(tài)頁面只有在處理后才能生成。這些包括 PHP,Python 或其他應(yīng)用程序(如 Nodejs)等文件。

Apache Web 服務(wù)器熟練地解析和執(zhí)行各種腳本語言,這使它能夠非常快速地處理動態(tài)頁面。Nginx 沒有這種有效處理動態(tài)頁面的能力。但它可以快速提供靜態(tài)網(wǎng)站內(nèi)容,其靜態(tài)內(nèi)容緩存。

在只有 Nginx Web 服務(wù)器的香港服務(wù)器中,我們配置 PHP-FPM 應(yīng)用程序來處理像 PHP 這樣的動態(tài)內(nèi)容。為了進(jìn)一步加快網(wǎng)站速度,我們配置 Varnish 或 Memcached 等緩存工具。


七、負(fù)載均衡

在許多場景中選 Load Balancer 設(shè)置,例如運(yùn)行多個應(yīng)用程序?qū)嵗蚍植际?Web 服務(wù)器要求,其中涉及高 Web 流量。Nginx 可以輕松配置為負(fù)載均衡器,以收集 Web 流量并將其分發(fā)到相應(yīng)的 Web 服務(wù)器并解析獲得的輸出。靜態(tài)頁面由 Nginx 本身處理,動態(tài)頁面請求被傳送到適當(dāng)?shù)? Web 服務(wù)器。此負(fù)載平衡有助于提高網(wǎng)站速度,而不會導(dǎo)致資源開銷。通過在 Nginx 中配置緩存,我們進(jìn)一步簡化了負(fù)載均衡器設(shè)置,以減少網(wǎng)站延遲并提高服務(wù)器性能。

以上就是我們?yōu)槟榻B的 Nginx 和 Apache 之間在主要 Web 服務(wù)器標(biāo)準(zhǔn)方面的區(qū)別。但在現(xiàn)實(shí)生活場景中,這些參數(shù)可能不是那么清晰,無法區(qū)分。大多數(shù)情況下,網(wǎng)站可以是靜態(tài)和動態(tài)頁面的組合,而不僅僅是一種類型。在這種情況下,我們使用 Nginx 和 Apache 的組合。我們將 Nginx 配置為反向代理。Nginx 將充當(dāng)收集 Web 服務(wù)器請求的前端。靜態(tài)頁面由 Nginx 本身處理。諸如 PHP,Python 等動態(tài)頁面被移交給 Apache Web 服務(wù)器,后者位于后端并監(jiān)聽另一個端口。Apache 的結(jié)果然后通過 Nginx 移交給客戶端。通過使用 Nginx 和 Apache 的反向代理設(shè)置,我們可以在兩臺服務(wù)器之間卸載 Web 流量,并從這兩臺服務(wù)器中獲得好效果。


總之,我們在 Web 服務(wù)器中執(zhí)行進(jìn)一步調(diào)整以提供好性能。為確保 Web 服務(wù)器即使在增加的負(fù)載下也能正常工作,我們會定期進(jìn)行壓力測試和持續(xù)更新??傊?,我們在評估服務(wù)器實(shí)例類型和業(yè)務(wù)目的后,我們的支持工程師會建議客戶如何在服務(wù)器中配置 Web 服務(wù)器。這有助于我們配置快速穩(wěn)定的高性能 Web 服務(wù)器。

本文題目:Nginx和Apache的優(yōu)缺點(diǎn)對比分析
本文地址:http://www.muchs.cn/news20/266220.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、搜索引擎優(yōu)化、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)