nginx和apache那個好?
網友解答: Project 1:Nginx和Apache的區(qū)別 1. apache 相對于nginx 的優(yōu)點: rewrite ,比nginx 的rewrite 強大 動態(tài)頁面,ngin
Project 1:Nginx和Apache的區(qū)別 1. apache 相對于nginx 的優(yōu)點: rewrite ,比nginx 的rewrite 強大 動態(tài)頁面,nginx處理動態(tài)請求是雞肋,一般動態(tài)請求要apache去做,nginx只適合靜態(tài)和反向。 模塊超多,基本想到的都可以找到 少bug ,nginx 的bug 相對較多超穩(wěn)定 2. nginx相對于apache的優(yōu)點: 輕量級,同樣起web 服務,比apache占用更少的內存及資源 ,支持更多的并發(fā)連接,體現(xiàn)更高的效率,這點使 Nginx 尤其受到虛擬主機提供商的歡迎。在高連接并發(fā)的情況下,Nginx是Apache服務器不錯的替代品: Nginx在美國是做虛擬主機生意的老板們經常選擇的軟件平臺之一. 能夠支持高達 50,000 個并發(fā)連接數(shù)的響應, 這歸功于Nginx為我們選擇了 epoll and kqueue 作為開發(fā)模型. 抗并發(fā),nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高并發(fā)下nginx 能保持低資源低消耗高性能 高度模塊化的設計,編寫模塊相對簡單 社區(qū)活躍,各種高性能模塊出品迅速啊 Nginx本身就是一個反向代理服務器 負載均衡能力突出,Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務, 也可以支持作為 HTTP代理 服務器對外進行服務. Nginx采用C進行編寫, 不論是系統(tǒng)資源開銷還是CPU使用效率都比 Perlbal 要好很多. 3. 核心區(qū)別:apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程 一般來說,需要性能的web 服務,用nginx 。如果不需要性能只求穩(wěn)定,那就apache 吧。后者的各種功能模塊實現(xiàn)得比前者,例如ssl 的模塊就比前者好,可配置項多。這里要注意一點,epoll(freebsd 上是 kqueue )網絡IO 模型是nginx 處理性能高的根本理由,但并不是所有的情況下都是epoll 大獲全勝的,如果本身提供靜態(tài)服務的就只有寥寥幾個文件,apache 的select 模型或許比epoll 更高性能。 先說Select: Socket數(shù)量限制:該模式可操作的Socket數(shù)由FD_SETSIZE決定,內核默認32*32=1024. 操作限制:通過遍歷FD_SETSIZE個Socket來完成調度,不管哪個Socket是活躍的,都遍歷一遍(這就是apache慢的原因). 再說Epoll: Socket數(shù)量無限制 操作無限制:基于內核提供的反射模式,有活躍Socket時,內核訪問該Socket的callback,不需要遍歷輪詢(這當然是nginx快的原因啦). 原理部分小編覺得讀者知道這些就夠了,起碼當別人問起你選擇上述二者之一的理由你已經夠應付啦,給你推薦一種折中的方案,nginx做前端,apache做后端
網友解答:《nginx比Apache跑得快;不管你同不同意,靈活性還是nginx好得多!》
Nginx不知比apache強大多少倍的!即便是APaChe2.4來比賽也是如此!Nginx堪稱程序員級的web應用服務器!
一、設計思想注定nginx的性能比Apache高得多;
nginx使用c語言編寫而成,是當今世界跑得最歡的web服務器,也許每個人都在接受它的服務。尤其是的中國這個互聯(lián)網+的大世界里,nginx這個開源的軟件受國人歡迎的程度已遠遠超過了那些高貴的IBM、微軟的web應用服務器了!
圖:2018年NGINX受歡迎的程度正在瘋狂上升;
二、后來居上的大陸互聯(lián)網,nginx最受歡迎;
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,開源發(fā)布,所以還有了阿里的中國化版本Tengine。
Nginx其特點是占有內存少,并發(fā)能力強,事實上nginx的并發(fā)能力確實在同類型的網頁服務器中表現(xiàn)最好。
三、nginx自產生以來,nginx成為幾乎所有大并發(fā)量WEB服務器的首選;
中國大名大名鼎鼎人網絡平臺基本都用上了nginx:比如百度,比如京東,比如新浪,比如網易,比如騰訊,比如淘寶等等。
四、關于nginx的穩(wěn)定性Monit自動監(jiān)控;
Monit 算是 Linux進程和服務監(jiān)控的大神。 monit免費、開源的一款基于網絡的進程監(jiān)控工具。它能自動地監(jiān)控和管理系統(tǒng)進程,當然能量遠不止于此。
Monit使用C語言編寫而成,處理效率非常之高,占用資源極少,配置參數(shù)簡單,只使用幾個if … then…語句就可以完成監(jiān)控任務。尤其適用于對某些進程進行守護。比如:檢測到http服務不正常時,自動重啟nginx 。
monit還能監(jiān)控象Apache, MySQL, Mail, FTP, ProFTP, SSH各式各樣的服務。其最大有功能就在于一個進程服務宕機了,monit就可以重新打開這個服務!
總結:流行就有流行的道理!假如你要做個大平臺,用用nginx也許是個正確的選擇!