您好,登錄后才能下訂單哦!
今天小編給大家分享一下Apache HTTP和Nginx引擎哪個比較好的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
當我們在瀏覽器中輸入一個網頁鏈接后,瀏覽器基于HTTP(s)
傳輸協議向相應的服務器發送一個請求,服務器收到相應的請求后經過處理,返回相應的信息給瀏覽器,然后由瀏覽器解析http
中的內容,以網頁的形式表現出來。
服務器負責接收請求,并在處理之后返回相應的數據,而其中又可以細分為處理http
連接的服務部分和執行服務內容的應用部分(WordPress
使用PHP
生成需要的頁面,就屬于應用部分)
而不論應用部分執行的是何種應用,處理http
連接的部分幾乎是相同的,所以出現了專門處理http
連接的中間件,目前最常見的是Apache
和Nginx
。
正式名稱是“Apache HTTP Server
”,是一款開源的HTTP
服務器中間件,誕生于1995年,曾經是HTTP
服務領域的龍頭老大,擁有大量的用戶和豐富的社區資源。Apache
的一大優點就是方便與Wordpress
等CMS軟件進行集成,只需要簡單的設定就能搭建一個基于CMS的網站。
內部構造方面,Apache
采用多進程的方式,每有一個連接就會為這個連接開辟一個進程,專門用于處理這個連接上的請求,直到連接結束。這樣做的好處是:
來自不同客戶端的連接會立刻得到相應且互不干擾,而且不會因為某一個服務占用了較長的時間而使其它的連接得不到響應。
但是缺點也是顯而易見的:
當同時訪問數比較多的時候,Apache
會建立大量的進程,占用過多的內存資源。
大量線程間的調度也會造成CPU處理能力的大量浪費。
由此產生了被稱為C10K
的難題,C即客戶端(Client),10K是指1萬,即不論服務器的性能和網絡帶寬有多高,Apache
都難以同時處理1萬個以上的連接。
讀作Engine-X
,和Apache
一樣也是用于HTTP
服務的開源中間件,誕生于2004年。Nginx
比Apache
的歷史要短,但是正因為是后來者,Nginx
吸取了Apache
的教訓,在設計初期就考慮到了處理大量連接時的效率問題,解決了諸如C10K
等隨著互聯網規模壯大而產生的難題。
Nginx
采用了非阻塞IO
和異步消息驅動的方式,即在稱作worker
的線程中使用循環來處理隊列中的連接請求。而根據硬件的情況,可以設定多個worker
線程,充分利用CPU
的核心資源。
解決了處理大量連接時消耗內存過多,調度效率低下的問題,同時還能充分的利用所有的CPU核心。在相同硬件下處理并發連接的能力是Apache
的10到100倍。
但是Nginx
這種方式也不是沒有缺點。
當服務器單核性能較差時,基于CMS的動態網站可能需要較長的時間來執行一個請求,此時來自其他客戶端的請求將無法立即被執行。當CPU
核心數較少,worker
線程不足時會更加明顯。
好在現在服務器的性能越來越強,在AMD
的帶領下CPU
核心數也越來越多,Nginx
的缺點足以被彌補,而高效的優勢也愈發顯現出來。
Apache Nginx
處理能力有限10-100倍是否會被復雜任務阻塞否有可能會設定難度比較簡單相對復雜社區資源豐富相對較少
近年來,Nginx
的市場占有率不斷提高,2019年已經達到了和Apache
持平的水平。而對于有極大訪問量的大型網站,可以看到訪問量越大,Nginx
的占比也就越高。這也從側面印證了Nginx
在處理大量訪問時的優越性能。
Nginx
除了可以作為HTTP服務器使用,其強大的反向代理功能還被廣泛地用作負載均衡前端服務器,逐漸取代了基于硬件的負載均衡器。
在Nginx
中可以配置若干個后端服務器,Nginx
在收到HTTP
請求之后按照一定規則(輪詢,IP哈希,優先隨機)等將請求轉發給后端服務器,實現負載在多臺服務器上的平均或加權分配。
同時作為負載均衡的前端還能緩存后端返回的數據,緩解后端服務器的壓力。前端采用Nginx
做負載均衡限制每個服務器的連接數,后端服務器運行Apache
的模式也并不少見。
硬件負載均衡器的業界大佬F5 networks
在2019年收購了Nginx
,推出了包含收費服務的負載均衡解決方案Nginx+
。
以上就是“Apache HTTP和Nginx引擎哪個比較好”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。