nginx和apache那個好?

gggdddxxx111


Project 1:Nginx和Apache的區別 1. apache 相對於nginx 的優點: rewrite ,比nginx 的rewrite 強大 動態頁面,nginx處理動態請求是雞肋,一般動態請求要apache去做,nginx只適合靜態和反向。 模塊超多,基本想到的都可以找到 少bug ,nginx 的bug 相對較多超穩定 2. nginx相對於apache的優點: 輕量級,同樣起web 服務,比apache佔用更少的內存及資源 ,支持更多的併發連接,體現更高的效率,這點使 Nginx 尤其受到虛擬主機提供商的歡迎。在高連接併發的情況下,Nginx是Apache服務器不錯的替代品: Nginx在美國是做虛擬主機生意的老闆們經常選擇的軟件平臺之一. 能夠支持高達 50,000 個併發連接數的響應, 這歸功於Nginx為我們選擇了 epoll and kqueue 作為開發模型. 抗併發,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高性能 高度模塊化的設計,編寫模塊相對簡單 社區活躍,各種高性能模塊出品迅速啊 Nginx本身就是一個反向代理服務器 負載均衡能力突出,Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務, 也可以支持作為 HTTP代理 服務器對外進行服務. Nginx採用C進行編寫, 不論是系統資源開銷還是CPU使用效率都比 Perlbal 要好很多. 3. 核心區別:apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程 一般來說,需要性能的web 服務,用nginx 。如果不需要性能只求穩定,那就apache 吧。後者的各種功能模塊實現得比前者,例如ssl 的模塊就比前者好,可配置項多。這裡要注意一點,epoll(freebsd 上是 kqueue )網絡IO 模型是nginx 處理性能高的根本理由,但並不是所有的情況下都是epoll 大獲全勝的,如果本身提供靜態服務的就只有寥寥幾個文件,apache 的select 模型或許比epoll 更高性能。 先說Select: Socket數量限制:該模式可操作的Socket數由FD_SETSIZE決定,內核默認32*32=1024. 操作限制:通過遍歷FD_SETSIZE個Socket來完成調度,不管哪個Socket是活躍的,都遍歷一遍(這就是apache慢的原因). 再說Epoll: Socket數量無限制 操作無限制:基於內核提供的反射模式,有活躍Socket時,內核訪問該Socket的callback,不需要遍歷輪詢(這當然是nginx快的原因啦). 原理部分小編覺得讀者知道這些就夠了,起碼當別人問起你選擇上述二者之一的理由你已經夠應付啦,給你推薦一種折中的方案,nginx做前端,apache做後端


小島大老虎


《nginx比Apache跑得快;不管你同不同意,靈活性還是nginx好得多!》

Nginx不知比apache強大多少倍的!即便是APaChe2.4來比賽也是如此!Nginx堪稱程序員級的web應用服務器!

一、設計思想註定nginx的性能比Apache高得多;

nginx使用c語言編寫而成,是當今世界跑得最歡的web服務器,也許每個人都在接受它的服務。尤其是的中國這個互聯網+的大世界裡,nginx這個開源的軟件受國人歡迎的程度已遠遠超過了那些高貴的IBM、微軟的web應用服務器了!

圖:2018年NGINX受歡迎的程度正在瘋狂上升;

二、後來居上的大陸互聯網,nginx最受歡迎;

Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,開源發佈,所以還有了阿里的中國化版本Tengine。

Nginx其特點是佔有內存少,併發能力強,事實上nginx的併發能力確實在同類型的網頁服務器中表現最好。

三、nginx自產生以來,nginx成為幾乎所有大併發量WEB服務器的首選;

中國大名大名鼎鼎人網絡平臺基本都用上了nginx:比如百度,比如京東,比如新浪,比如網易,比如騰訊,比如淘寶等等。

四、關於nginx的穩定性Monit自動監控;

Monit 算是 Linux進程和服務監控的大神。 monit免費、開源的一款基於網絡的進程監控工具。它能自動地監控和管理系統進程,當然能量遠不止於此。

Monit使用C語言編寫而成,處理效率非常之高,佔用資源極少,配置參數簡單,只使用幾個if … then…語句就可以完成監控任務。尤其適用於對某些進程進行守護。比如:檢測到http服務不正常時,自動重啟nginx 。

monit還能監控象Apache, MySQL, Mail, FTP, ProFTP, SSH各式各樣的服務。其最大有功能就在於一個進程服務宕機了,monit就可以重新打開這個服務!

總結:流行就有流行的道理!假如你要做個大平臺,用用nginx也許是個正確的選擇!


創新炎黃


對java程序員來說apache基本是雞肋,當然你如果非要說tomcat是apache的擴展,那也隨你,單就apache來說,靜態比不過nginx,動態和weblogic/jboss這些比又不是一個檔次,別人用不用不知道反正我們是不用滴


偶爾來逛逛隨便來瞧瞧


nginx是因互聯網而生的輕量級、高性能,高併發性和低內存使用的場景。

Apache因年代久遠,屬於重型的的web應用服務器,每個請求都會佔用一個進程處理,進程非常佔資源 ,而且當併發量大的時候,就需要等額的進程,導致高內存、CPU的佔用。


分享到:


相關文章: