tomcat有必要加nginx嗎

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使用教程欄目進行學習!?

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享