1. 程式人生 > >Nginx聯合Tomcat在一臺機器上最快方式實現反向代理和負載均衡

Nginx聯合Tomcat在一臺機器上最快方式實現反向代理和負載均衡

準備

解壓安裝編譯Nginx
解壓Tomcat
將解壓後的Tomcat複製兩份分別叫Tomcat1和Tomcat2

在Tomcat1目錄下修改conf/server.xml檔案裡埠號

第22行<Server port="8005" shutdown="SHUTDOWN">
將8005改成8006
第70行<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
將8080改成8081
第92行<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


將8009修改為8010
最後將Tomcat2的這3個地方也進行修改,要保證埠號不重複

在進入webapps/ROOT/index.jsp

找到檔案的47行<h1>${pageContext.servletContext.serverInfo}--suohu.com</h1>
分別在Tomcat和Tomcat1和Tomcat2的檔案中修改成<h1>${pageContext.servletContext.serverInfo}--suohu.com--tomcat0</h1>
<h1>${pageContext.servletContext.serverInfo}--suohu.com--tomcat1</h1>


<h1>${pageContext.servletContext.serverInfo}--suohu.com--tomcat2</h1>

然後再在Nginx目錄下的conf/nginx.conf檔案裡修改一些內容

先將檔案中server的部分拷貝兩份在此檔案的server下方
//在檔案中第一個server下新增下類內容將192.168.147.136改成自己伺服器ip
upstream tomcat1 {
	server 192.168.147.136:8080;
    }
	upstream tomcat2 {
	server 192.168.147.136:8081;
	server 192.168.147.136:8082 weight=4;
    }

在修改下圖內容,copy的兩個server都要修改,另一個為 proxy_pass 為tomcat1

在這裡插入圖片描述

在window的hosts檔案里加入

192.168.147.136 www.sina.com
192.168.147.136 www.souhu.com
在執行
sbin/nginx -s reload

最後可以在網頁上測試,

在網頁上輸入www.sohu.com在多次重新整理可以看到

在這裡插入圖片描述

這個標題的字尾可以變成Tomcat1和Tomcat2之間進行轉換。說明負載均衡成功。
而我們通過一個ip訪問不同埠或者說不同的域名,得到了我們配置的頁面則反向代理成功。
說到這裡可能有一些還不明白什麼是負載均衡和反向代理的具體含義,請移步我的下一篇文章!https://blog.csdn.net/weixin_43345864/article/details/84799807