Nginx+Tomcat負(fù)載均衡及動(dòng)靜分離群集的實(shí)現(xiàn)
Nginx配置反向代理的主要參數(shù)
upstream服務(wù)池名{}
配置后端服務(wù)器池,以提供響應(yīng)數(shù)據(jù)
proxy_pass http://服務(wù)池名
配置將訪(fǎng)問(wèn)請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)器池的服務(wù)器處理
動(dòng)靜分離原理
服務(wù)端接收來(lái)自客戶(hù)端的請(qǐng)求中,既有靜態(tài)資源也有動(dòng)態(tài)資源,靜態(tài)資源由Nginx提供服務(wù),動(dòng)態(tài)資源Nginx轉(zhuǎn)發(fā)至后端
Nginx靜態(tài)處理優(yōu)勢(shì)
Nginx處理靜態(tài)頁(yè)面的效率遠(yuǎn)高于Tomcat的處理能力
若Tomcat的請(qǐng)求量為1000次則Nainx的每秒吞吐量為3.6M
Tomcat每秒的吞吐量為0.6M,Nginx的每秒吞吐量為3.6M
Nginx處理靜態(tài)資源的能力是Tomcat處理的6倍
配置Nginx+Tomcat負(fù)載均衡,動(dòng)靜分離
Nginx 服務(wù)器:192.168.100.102
Tomcat 服務(wù)器1:192.168.100.103
Tomcat 服務(wù)器2:192.168.100.105:8080 192.168.100.105:8081
配置Nginx 負(fù)載均衡器
[root@zzz ~]# systemctl stop firewalld [root@zzz ~]# setenforce 0 [root@zzz ~]# yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make [root@zzz ~]# useradd -M -s /sbin/nologin nginx [root@zzz ~]# cd /opt [root@zzz opt]# cd nginx-1.12.2/ [root@zzz nginx-1.12.2]# ./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 --with-stream
優(yōu)化路徑
[root@zzz nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
加入systemctl啟動(dòng)服務(wù)
[root@zzz nginx-1.12.2]# vim /lib/systemd/system/nginx.service
給與權(quán)限 啟動(dòng)服務(wù)
[root@zzz nginx-1.12.2]# chmod 754 /lib/systemd/system/nginx.service [root@zzz nginx-1.12.2]# systemctl start nginx.service [root@zzz nginx-1.12.2]# systemctl enable nginx.service
部署兩臺(tái)Tomcat
[root@send opt]# systemctl stop firewalld.service [root@send opt]# setenforce 0 [root@send opt]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/ [root@send local]# mv jdk1.8.0_91/ jdk1.8 [root@send jdk1.8]# vim /etc/profile
[root@send jdk1.8]# source /etc/profile
動(dòng)靜分離配置
(1)Tomcat1 server 配置
[root@send bin]# mkdir /usr/local/tomcat/webapps/test [root@send bin]# vim /usr/local/tomcat/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>JSP test1 page</title> </head> <body> <% out.println("動(dòng)態(tài)頁(yè)面 1,http://www.test1.com");%> </body> </html>
(2)Tomcat2 server 配置
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>JSP test1 page </title> </head> <body> <% out.println("動(dòng)態(tài)頁(yè)面 1,http://www.test1.com");%> </body> </html>
[root@localhost webapps]# cd .. [root@localhost tomcat8]# vim conf/server.xml
[root@localhost local]# mkdir tomcat9/webapps/test [root@localhost local]# cp tomcat8/webapps/test/index.jsp tomcat9/webapps/test/ [root@localhost local]# vim tomcat9/webapps/test/index.jsp
[root@localhost local]# vim tomcat9/conf/server.xml
重啟服務(wù)。查看端口
開(kāi)啟網(wǎng)頁(yè)驗(yàn)證
切換到Nginx服務(wù)器上
開(kāi)啟網(wǎng)頁(yè)驗(yàn)證
配置動(dòng)態(tài)頁(yè)面請(qǐng)求
[root@zzz conf]# vim nginx.conf
重啟服務(wù)
[root@zzz conf]# systemctl restart nginx.service
瀏覽器驗(yàn)證
刷新??错?yè)面跳轉(zhuǎn),是否實(shí)現(xiàn)負(fù)載均衡
Nginx 負(fù)載均衡模式
rr 負(fù)載均衡模式:
每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果超過(guò)了最大失敗次數(shù)后(max_fails,默認(rèn)1),在失效時(shí)間內(nèi)(fail_timeout,默認(rèn)10秒),該節(jié)點(diǎn)失效權(quán)重變?yōu)?,超過(guò)失效時(shí)間后,則恢復(fù)正常,或者全部節(jié)點(diǎn)都為down后,那么將所有節(jié)點(diǎn)都恢復(fù)為有效繼續(xù)探測(cè),一般來(lái)說(shuō)rr可以根據(jù)權(quán)重來(lái)進(jìn)行均勻分配。
least_conn 最少連接:
優(yōu)先將客戶(hù)端請(qǐng)求調(diào)度到當(dāng)前連接最少的服務(wù)器。
ip_hash 負(fù)載均衡模式:
每個(gè)請(qǐng)求按訪(fǎng)問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪(fǎng)客固定訪(fǎng)問(wèn)一個(gè)后端服務(wù)器,可以解決session的問(wèn)題,但是ip_hash會(huì)造成負(fù)載不均,有的服務(wù)請(qǐng)求接受多,有的服務(wù)請(qǐng)求接受少,所以不建議采用ip_hash模式,session 共享問(wèn)題可用后端服務(wù)的 session 共享代替 nginx 的 ip_hash。
fair(第三方)負(fù)載均衡模式:
按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。
url_hash(第三方)負(fù)載均衡模式:
基于用戶(hù)請(qǐng)求的uri做hash。和ip_hash算法類(lèi)似,是對(duì)每個(gè)請(qǐng)求按url的hash結(jié)果分配,使每個(gè)URL定向到同一個(gè)后端服務(wù)器,但是也會(huì)造成分配不均的問(wèn)題,這種模式后端服務(wù)器為緩存時(shí)比較好。
到此這篇關(guān)于Nginx+Tomcat負(fù)載均衡及動(dòng)靜分離群集的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx Tomcat負(fù)載均衡及動(dòng)靜分離群集內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼
- Nginx七層負(fù)載均衡之動(dòng)靜分離思路詳解
- nginx實(shí)現(xiàn)動(dòng)靜分離的案例詳解
- 關(guān)于Nginx動(dòng)靜分離詳解以及配置
- Nginx?Tomcat負(fù)載均衡動(dòng)靜分離原理解析
- 使用nginx實(shí)現(xiàn)動(dòng)靜分離
- Nginx動(dòng)靜分離配置實(shí)現(xiàn)與說(shuō)明
- nginx實(shí)現(xiàn)動(dòng)靜分離的方法示例
- Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡、動(dòng)靜分離的原理解析
- Nginx動(dòng)靜分離實(shí)現(xiàn)案例代碼解析
- Nginx動(dòng)靜分離的示例代碼
相關(guān)文章
國(guó)內(nèi)一些常用PHP的CMS的Nginx服務(wù)器的偽靜態(tài)規(guī)則整理
當(dāng)我們從apache服務(wù)器轉(zhuǎn)向Nginx服務(wù)器的時(shí)候,它們的偽靜態(tài)規(guī)則就不一樣了,所以你熟悉Nginx服務(wù)器的偽靜態(tài)規(guī)則,自己寫(xiě)當(dāng)然也好2011-03-03nginx配置域名訪(fǎng)問(wèn)時(shí)域名后出現(xiàn)兩個(gè)斜杠//的解決方法
最近這兩天重新寫(xiě)了一下我的個(gè)人網(wǎng)站,在阿里云新買(mǎi)了一臺(tái)服務(wù)器,配置好以后出現(xiàn)了一個(gè)問(wèn)題,就是輸入域名后域名地址會(huì)自動(dòng)在后面追加兩個(gè)斜桿,需要的朋友可以參考下2020-07-07nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼
這篇文章主要介紹了nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Nginx反向代理基本設(shè)置的21個(gè)指令詳解
這篇文章主要介紹了Nginx反向代理基本設(shè)置的21個(gè)指令,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06詳解nginx安裝過(guò)程并代理下載服務(wù)器文件
Nginx是一款輕量級(jí)的web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like?協(xié)議下發(fā)行,這篇文章主要介紹了詳解nginx安裝過(guò)程并代理下載服務(wù)器文件,需要的朋友可以參考下2022-02-02