首頁  >  文章  >  運維  >  tomcat有必要加nginx嗎

tomcat有必要加nginx嗎

(*-*)浩
(*-*)浩原創
2019-06-10 17:20:267829瀏覽

tomcat既是一個servlet和jsp容器,也是一個輕量級的web伺服器,它既可以處理動態內容,也可以處理靜態內容。為什麼還需要結合nginx一起使用?

tomcat有必要加nginx嗎

原因:

(1)、tomcat處理html的能力不如nginx,處理靜態內容的速度不如nginx,所以靜態頁面交給nginx,動態請求交給tomcat處理。

(2)、tomcat接受的最大並發數有限,接連接數過多,會導致tomcat處於"殭屍"狀態,對後續的連接失去響應,需要利用nginx的高並發,低消耗的特點與tomcat一起使用。

Nginx優點

2.1、動靜分離&反向代理

nginx是一種輕量級,高效能,多進程的web伺服器,非常適合作為靜態資源的伺服器使用,而動態的存取操作可以使用tomcat來實現,nginx作為代理伺服器的同時,也使用其作為靜態資源的伺服器。靜態資源透過絕對路徑去訪問,放在nginx伺服器當中,動態資源透過url拼接字串的方式去訪問tomcat伺服器。

2.2、負載平衡

為了解決並發,我們可以使用負載平衡,也就是我們多增加幾個tomcat伺服器,當使用者存取的時候,請求可以提交到空閒的tomcat伺服器上。

Nginx的upstream目前支援以下幾種方式的分配

(1)、輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

(2)、weight

指定輪詢幾率,weight和存取比率成正比,用於後端伺服器效能不均的情況。

(3)、ip_hash

每個請求按存取ip的hash結果分配,這樣每個訪客固定存取一個後端伺服器,可以解決session的問題。

(4)、fair

按後端伺服器的回應時間來分配請求,回應時間短的優先分配。

(5)、url_hash

按存取url的hash結果來分配請求,使每個url定向到同一個後端伺服器,後端伺服器為快取時比較有效。

更多Nginx相關技術文章,請造訪Nginx使用教學欄位進行學習! 

以上是tomcat有必要加nginx嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn