首頁>Club>
11
回覆列表
  • 1 # Java實戰技術

    三者都有網路代理服務的功能,因為apache和tomcat都是由apache組織開發,所以下面從幾個方面來分享一下nginx與apache的部分區別。

    Nginx

    nginx是由一位來自俄羅斯的程式設計師Igor Sysoe所編寫的十分輕量級的HTTP伺服器。nginx,它的發音為“engine X”。是一個高效能基於HTTP和反向代理的伺服器,當只有靜態資源的時候,就可以使用nginx來做伺服器,現在很流行的動靜分離(普遍情況下,是需要動態資源和靜態資源分開,將靜態資源部署在nginx上,當如果是靜態資源的請求來時,就直接到nginx配置的靜態資源目錄下面獲取資源;如果是動態資源的請求,nginx利用反向代理的原理,把請求轉發給後臺應用去處理,從而實現動靜分離)就能透過nginx來實現。下面列出一些它的功能和優勢:

    nginx具有良好的擴充套件性,可以透過模組方式來進行功能擴充套件。nginx較為靈活的負載均衡策略。

    輪詢(預設)演算法:每個請求按時間順序逐一分配到不同的後端伺服器,如果後端某臺伺服器宕機,則自動剔除故障機器,使使用者訪問不受到影響,個人覺得這個是最好的方法,但也有成本就是消耗機器的成本!實際情況中也驗證了這一點,移動段的token!

    nginx抗併發的能力很強。Apache

    Apache HTTP伺服器是一個模組化的伺服器,可以執行在幾乎所有廣泛使用的計算機平臺上。其屬於應用伺服器。Apache支援支援模組多,效能穩定,Apache本身是靜態解析,適合靜態HTML、圖片等,但可以透過擴充套件指令碼、模組等支援動態頁面等。

    Tomcat

    Tomcat是應用(Java)伺服器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認為是Apache的擴充套件,但是可以獨立於Apache執行。

    Apache和Nginx的部分功能相比較非同步能力:apache中也有非同步模組支援非同步功能,不過是阻塞性非同步,而nginx是非阻塞性非同步。抗併發:nginx因為軟體體積小,消耗主機資源少,抗併發能力是apache的3倍以上。重量等級:apache配置相對nginx複雜,自身不支援動態頁面。漏洞缺陷:apache相對nginx的bug會少很多。小結

    nginx 以輕量的優點在慢慢取帶重量級的Apache ,現在已經被主流使用。

  • 中秋節和大豐收的關聯?
  • 深度作業系統怎麼樣?