nginx結合tomcat實現負載均衡

2021-07-30 10:50:37 字數 2771 閱讀 5770

哇,首先容許我感嘆一聲,nginx是真的恐怖,反向**、負載均衡、web快取等等內容的實現只需要修改下配置,誰能想到這一切會如此簡單,不得不讓人感嘆,果然偷懶才是人類進步的源泉~~(笑)

先說下什麼是web伺服器的負載均衡,簡單來說就是就是將多個請求分攤到多個伺服器上,從而提高網路的可用性。大致架構應該是下面這樣的靈魂(這次展示的內容實際上是同乙個client的多次請求):

下面是具體步驟:

首先需要啟動兩台tomcat伺服器,我偷了下懶,頁面用的就是tomcat啟動時預設頁面。

順便說一下在一台電腦上配置多個tomcat的方法:

1.增加環境變數catalina_home01,值為新的tomcat的位址。

2.增加環境變數catalina_base01,值為新的tomcat的位址。

3.修改新的tomcat中的startup.bat,把其中的catalina_home改為catalina_home01。 

4.修改新的tomcat中的catalina.bat,把其中的catalina_home改為catalina_home01,catalina_base改為catalina_base01。 

5.修改conf/server.xml檔案,有以下三個部分的埠號需要修改: 

(ps:如果出現 tomcat invalid command 'get / http/1.1' 這麼個蛋疼的問題,那麼可能是你這三處配置的埠號有衝突。)

(pps:我兩個server的埠號在上面三處的配置依次是18088,18080,18081和28005,28080,28009,隨意的。)

記得啟動之後訪問下localhost:埠號驗證是否啟動成功。

此外,如果在tomcat啟動過程中出現異常,但是執行startup.bat卻又一閃而過的時候,可以如下圖修改檔案最後幾行,這樣就能看到異常內容了:

call "%executable%" run %cmd_line_args%

pause

:end

接著,修改nginx配置檔案nginx.conf,直接上超大的帶注釋的內容,應該不是那麼難理解:

#執行使用者 

#user nobody;

#開啟程序數 <=cpu數

worker_processes 1;

#錯誤日誌儲存位置

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#程序號儲存檔案

#pid logs/nginx.pid;

#等待事件

#更改根目錄,因為現在做的是負載均衡。根據上面的配置,此時如果請求是localhost:80,就會交給aiwome.com集群來處理,也就是上面配置的伺服器集群名稱

重要的是這兩個部分:

#設定負載均衡的伺服器列表  

#伺服器集群名字

upstream aiwome.com

server 

......

}

最後,啟動nginx,在瀏覽器訪問http://localhost/index.jsp,成果如下圖所示。

多次重新整理,會發現處理請求的是不同的伺服器。(為了區別兩個伺服器,我對他們的index.jsp加了點小內容用以區分。不要在意打碼的內容。)

以上,就是nginx結合tomcat實現負載均衡的乙個小的demo啦~~

nginx怎麼與tomcat完美結合

nginx怎麼與tomcat完美結合 現在公司乙個伺服器上需要部署兩個專案,其中乙個專案已經正式上線,並且已經占用了80埠,另外乙個專案 部署上去後,訪問必須要加埠號,這樣的使用者體驗非常不好,那麼如何解決解決這個問題了?使用nginx去共用乙個80埠 1.首先假設有兩個網域名稱解析到了伺服器上並且...

nginx使用快取並與tomcat結合提速

伺服器構架如下nginx tomcat mysql nginx.conf log的檔名用host的網域名稱來定,呵呵,省得server那裡指定了 access log var log nginx host.access.log combined sendfile on tcp nopush on k...

tomcat和nginx相互結合的優化調整

在工作中遇到這樣的情況 tomcat為後台 nginx為反向 需要往後臺匯入資料,由於處理時間過長,導致訪問時出現504和500 通過修改tomcat中maxparametercount 30000 預設為10000 意思是資料庫表的字段數乘以資料條數的值 然後再修改 nginx 中的proxy r...