Tomcat服務在Nginx的負載均衡安裝設置教程方法,Nginx負載均衡以及動靜分離的原理與配置

Tomcat服務在Nginx的負載均衡安裝設置教程方法,Nginx負載均衡以及動靜分離的原理與配置,動靜分離配置Nginx 負載均衡模式總結一、Nginx實現負載均衡原理Nginx實現負載均衡是通過反向代理實現Nginx 負載均衡模式rr 負載均衡模式:每個請求按時間順序逐一分配到不同的后端服務器,如果超過了最大失敗次數后(max_fails,默認1),在失效時間內(fail_timeout,默認10秒),該節點失效權重變為0,超過失效時間后,則恢復正常,或者全部節點都為down后,那么將所有節點都恢復為有效繼續探測,一般來說rr可以根據權重來進行均勻分配 。least_conn 最少連接:優先將客戶端請求調度到當前連接最少的服務器 。ip_hash 負載均衡模式目錄

  • 一、Nginx實現負載均衡原理
  • 二、Nginx動靜分離原理
    • Nginx 靜態處理優勢
  • 三、Nginx + Tomcat 動靜分離、負載均衡配置步驟
    • 環境準備:
    • 動靜分離配置
  • Nginx 負載均衡模式
  • 總結
 
一、Nginx實現負載均衡原理Nginx實現負載均衡是通過反向代理實現
Tomcat服務在Nginx的負載均衡安裝設置教程方法,Nginx負載均衡以及動靜分離的原理與配置


Nginx服務器作為前端,Tomcat服務器作為后端,web頁面請求由Nginx服務來進行轉發 。
但是不是把所有的web請求轉發,而是將靜態頁面請求Nginx服務器自己來處理,動態頁面請求,轉發給后端的Tomcat服務器來處理 。
【Tomcat服務在Nginx的負載均衡安裝設置教程方法,Nginx負載均衡以及動靜分離的原理與配置】Tomcat是屬于輕量級的應用服務器,可接受訪問量可能會不足,所以我們需要多臺Tomcat服務器,然后通過Nginx配置權重來進行挑選Tomcat服務器去進行處理,負載均衡的一種策略 。
Nginx服務器
1、首頁使用精準匹配
2、靜態頁面使用正則匹配自己處理
3、動態頁面使用正則匹配jsp結尾的請求,使用proxy_pass轉發給Tomcat服務器
 
二、Nginx動靜分離原理服務端接收來自客戶端的請求中,既有靜態資源也有動態資源,靜態資源由 Nginx 提供服務,動態資源由 Nginx 轉發至后端 。
Tomcat服務在Nginx的負載均衡安裝設置教程方法,Nginx負載均衡以及動靜分離的原理與配置


 
Nginx 靜態處理優勢
  • Nginx 處理靜態頁面的效率遠高于 Tomcat 的處理能力
  • 若 Tomcat 的請求量為1000次,則 Nginx 的請求量為6000次
  • Tomcat 每秒的吞吐量為0.6M,Nginx 的每秒吞吐量為3.6M
  • Nginx 處理靜態資源的能力是 Tomcat 處理的6倍
 
三、Nginx + Tomcat 動靜分離、負載均衡配置步驟 
環境準備:Nginx 服務器:192.168.121.13
Tomcat 服務器1:192.168.121.12:8080 192.168.121.12:8081
Tomcat 服務器2:192.168.121.10
1、部署 Nginx 負載均衡服務器
首先將 nginx-1.12.0.tar.gz 壓縮包上傳到 /opt 目錄下systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0yum install -y pcre-devel zlib-devel openssl-devel gcc gcc-c++ makeuseradd -M -s /sbin/nologin nginxcd /opttar zxvf nginx-1.12.0.tar.gz -C /opt/cd nginx-1.12.0/./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-http_ssl_modulemake && make installln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/vim /lib/systemd/system/nginx.service[Unit]Description=nginxAfter=network.target[Service]Type=forkingPIDFile =/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.targetchmod 754 /lib/systemd/system/nginx.servicesystemctl start nginx.servicesystemctl enable nginx.service

推薦閱讀