Nginx+Tomcat反向代理與負載均衡的實現(xiàn)
一、正向代理與反向代理
正向代理
客戶端想要直接與目標(biāo)服務(wù)器連接,但是無法直接進行連接,就需要先去訪問中間的代理服務(wù)器,讓代理服務(wù)器代替客戶端去訪問目標(biāo)服務(wù)器
反向代理
屏蔽掉服務(wù)器的信息,經(jīng)常用在多臺服務(wù)器的分布式部署上,像一些大型網(wǎng)站,由于訪問人數(shù)很多,就需要多臺服務(wù)器來解決,由一個反向代理服務(wù)器來代理,客戶端發(fā)來請求,先由反向代理服務(wù)器,按一定的規(guī)則分發(fā)到明確的服務(wù)器,但客戶端不知道是哪臺服務(wù)器,常用Nginx做反向代理
二、負載均衡
什么是負載均衡
將工作任務(wù)或者訪問請求進行平衡,然后分攤到多個單元、服務(wù)器或者組件上執(zhí)行,解決高并發(fā),高可用(單點故障)、擴展性(水平伸縮)的最高解決方案
代碼倉庫定義
開發(fā)人員分別將前段和后端代碼都存入自己的代碼倉庫,由分支進行分類(分支、主分支、分分支)分類儲存后,打包上傳服務(wù)器
后端打包工具Maven(打包為War、jar包)
前段打包工具Npm、nodejs
一般前端打包后會放入/usr/local/nginx/html目錄當(dāng)中(nginx配置)
后端的打包回放入在Tomcat服務(wù)里的Webapps中
私有倉庫 gitlab
公有倉庫 github
分流策略
Nginx負載均衡模式(rr負載均衡模式)
每個請求按時間順序逐一分配到不同的后端服務(wù)器,如果超過了最大失敗次數(shù)后(max_fails)默認為1,在失效時間內(nèi)(fail_timeout)默認為10秒,該節(jié)點失效權(quán)重變?yōu)?,超過失效時間后,則恢復(fù)正常,或者全部節(jié)點都為down后,那么將所有節(jié)點都恢復(fù)為有效,繼續(xù)探測,一般來說rr可以根據(jù)權(quán)重進行均勻分配
權(quán)重
least_conn(最少連接)
優(yōu)先將客戶端請求調(diào)度到當(dāng)前連接最少的服務(wù)器
ip_hash(負載均衡模式)
每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端的服務(wù)器,可以解決session的問題,但是ip_hash會造成負載不均,有的服務(wù)請求接受多,有的請求接受少,所以不建議采用ip_hash模式,session共享問題可用后端服務(wù)的session共享代替nginx的ip_hash
fair(第三方負載均衡模式)
按后端的服務(wù)器響應(yīng)時間來分配請求,響應(yīng)時間短的有限分配
url_hash(第三方負載均衡模式)
基于用戶請求的url做hash,和ip_hash算法類似,是對每個請求按url的hash結(jié)果分配,使每個URL定向到同一個后端服務(wù)器,但也會造成分配不均的問題,這種模式后端服務(wù)器為緩存時比較好
三、Nginx+Tomcat反向代理與負載均衡部署
第一步 關(guān)閉防火墻和安全機制
命令:systemctl stop firewalld
setenforce 0

第二步 安裝依賴環(huán)境
命令:yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

第三步 編譯安裝
命令:./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module

第四步 編譯
命令:make -j4 && make install

第五步 添加系統(tǒng)識別
命令:ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

第六步 編輯配置文件
命令:vim /lib/systemd/system/nginx.service

第七步 賦權(quán)并啟動服務(wù)
命令:chmod 777 /lib/systemd/system/nginx.service
systemctl start nginx
systemctl enable nginx

第八步 查看指定端口服務(wù)
命令:lsof -i:8080

第九步 用瀏覽器測試Nginx

第十步 部署Tomcat服務(wù)器

第十一步 解包到指定目錄并優(yōu)化路徑
命令:tar xf [壓縮包名] -C [指定路徑]

第十二步 修改配置文件
命令:vim /etc/profile

第十三步 刷新文件
命令:source /etc/profile

第十四步 重啟Tomcat
命令:/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

第十五步 查看對應(yīng)端口
命令:lsof -i:8080

第十六步 安裝第三臺虛擬機

第十七步 創(chuàng)建目錄編輯動態(tài)頁面

第十八步 修改配置文件

第十九步 重啟Tomcat

第二十步 查看對應(yīng)端口

第二十一步 用瀏覽器進行測試

第二十二步 第三臺虛擬機配置Tomcat

第二十三步 修改動態(tài)頁面內(nèi)容

第二十四步 修改第一臺靜態(tài)頁面

第二十五步 準(zhǔn)備一個靜態(tài)圖片

第二十六步 配置Nginx文件

第二十七步 修改配置內(nèi)容

第二十八步 用瀏覽器進行測試





以上就是Nginx+Tomcat反向代理與負載均衡的實現(xiàn)的詳細內(nèi)容,更多關(guān)于Nginx+Tomcat反向代理與負載均衡的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Nginx上配置Basic Authorization登錄認服務(wù)證的教程
現(xiàn)在我們所使用的包括社交網(wǎng)絡(luò)API等開放平臺授權(quán)獲得用戶的用戶名和密碼一般有兩種認證方式,一種是Basic Auth,一種是OAuth,這里我們就來看一下Nginx上配置Basic Authorization登錄認服務(wù)證的教程2016-06-06
nginx添加nginx-sticky-module模塊步驟的實現(xiàn)
nginx-sticky-module模塊是nginx實現(xiàn)負載均衡的一種方案,和ip_hash負載均衡算法會有區(qū)別的,本文主要介紹了nginx添加nginx-sticky-module模塊步驟的實現(xiàn),感興趣的可以了解一下2023-08-08
Nginx配置srcache_nginx模塊搭配Redis建立緩存系統(tǒng)
這篇文章主要介紹了Nginx配置srcache_nginx模塊搭配Redis建立緩存系統(tǒng)的方法,文中關(guān)于Nginx模塊和Redis數(shù)據(jù)庫的安裝就不再說明了,這里只關(guān)注配置搭建階段,需要的朋友可以參考下2016-01-01
Nginx反向代理及負載均衡如何實現(xiàn)(基于linux)
這篇文章主要介紹了Nginx反向代理及負載均衡如何實現(xiàn)(基于linux),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
使用Nginx為自己的網(wǎng)站資源加上防盜鏈保護實現(xiàn)
這篇文章主要為大家介紹了使用Nginx為自己的網(wǎng)站資源加上防盜鏈保護實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08

