Nginx+Tomcat負(fù)載均衡群集搭建步驟及流程是怎么樣的

下文給大家?guī)鞱ginx+Tomcat負(fù)載均衡群集搭建步驟及流程是怎么樣的,希望能夠給大家在實際運用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計的經(jīng)驗來做一個解答。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的昌黎網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

Tomcat簡介

  • Tomcat最初是由Sun的軟件構(gòu)架師詹姆斯鄧肯.戴維森開發(fā)
  • 安裝完Tomcat后安裝路徑下面的目錄和文件,是使用或者配置Tomcat的重要文件

Tomcat重要目錄

  • bin:存放啟動和關(guān)閉Tomcat腳本
  • conf:存放Tomcat不同的配置文件
  • doc:存放Tomcat文檔
  • lib/japser/common:存放Tomcat運行需要的庫文件
  • logs:存放Tomcat執(zhí)行時的LOG文件
  • src:存放Tomcat的源代碼
  • webapps:Tomcat的主要Web發(fā)布目錄
  • work:存放jsp編譯后產(chǎn)生的class文件

Nginx應(yīng)用

  • Nginx是一款非常優(yōu)秀的HTTP云服務(wù)器軟件
    • 支持高達(dá)50 000個并發(fā)連接數(shù)的響應(yīng)
    • 擁有強大的靜態(tài)資源處理能力
    • 運行穩(wěn)定
    • 內(nèi)存、CPU等系統(tǒng)資源消耗非常低
  • 目前很多大型網(wǎng)站都應(yīng)用Nginx服務(wù)器作為后端網(wǎng)站程序的反向代理及負(fù)載均衡器,提升整個站點的負(fù)載并發(fā)能力

Nginx負(fù)載均衡實現(xiàn)原理

  • Nginx實現(xiàn)負(fù)載均衡是通過反向代理來實現(xiàn)的
  • 反向代理原理
    Nginx+Tomcat負(fù)載均衡群集搭建步驟及流程是怎么樣的
Nginx配置反向代理的主要參數(shù)
  • upstream服務(wù)池名{ }
    • 配置后端服務(wù)器池,以提供響應(yīng)數(shù)據(jù)
  • proxy_pass http://服務(wù)池名
    • 配置將訪問請求轉(zhuǎn)發(fā)給后端服務(wù)器池的服務(wù)器處理

Nginx+Tomcat負(fù)載均衡群集實驗

實驗環(huán)境
Nginx服務(wù)器IP地址:192.168.80.177
Tomcat1服務(wù)器IP地址:192.168.80.151
Tomcat2服務(wù)器IP地址:192.168.80.178
client測試機
搭建負(fù)載均衡
  • 在Tomcat1、Tomcat2服務(wù)器上安裝配置Tomcat服務(wù)(Tomcat2上網(wǎng)頁內(nèi)容為accp其他配置一樣)
    [root@tomcat1 ~]# systemctl stop firewalld.service        //關(guān)閉防火墻
    [root@tomcat1 ~]# mkdir /abc
    [root@tomcat1 ~]# mount.cifs //192.168.100.8/LNMP-C7 /abc/
    [root@tomcat1 ~]# cd /abc/tomcat/
    [root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/    //解壓JDK
    [root@tomcat1 tomcat]# vim /etc/profile               //配置環(huán)境變量
    ...
    export JAVA_HOME=/usr/local/jdk1.8.0_91
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    [root@tomcat1 tomcat]# source /etc/profile         //刷新配置文件
    [root@tomcat1 tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/    //解壓
    [root@tomcat1 tomcat]# cd /usr/local/
    [root@tomcat1 local]# mv apache-tomcat-8.5.16/ tomcat
    [root@tomcat1 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/       //將啟動和關(guān)閉腳本便于系統(tǒng)識別
    [root@tomcat1 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
    [root@tomcat1 local]# mkdir -p /web/webapp1                //創(chuàng)建站點
    [root@tomcat1 local]# vim /web/webapp1/index.jsp            //寫入jsp網(wǎng)頁內(nèi)容
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
    <head>
    <title>JSP test1 page</title>
    </head>
    <body>
    <% out.println("Welcome KGC Web");%>         //輸出信息
    </body>
    </html>
    [root@tomcat1 local]# vim /usr/local/tomcat/conf/server.xml      //修改Tomcat配置文件
            <Host name="localhost"  appBase="webapps"
                        unpackWARs="true" autoDeploy="true">
                <Context docBase="/web/webapp1" path="" reloadable="false">  ##添加站點信息
                </Context>
    [root@tomcat1 ~]# startup.sh         //啟動服務(wù)
  • 在Nginx服務(wù)器上安裝配置Nginx服務(wù)

    [root@nginx ~]# systemctl stop firewalld.service    ##關(guān)閉防火墻
    [root@nginx ~]# setenforce 0
    [root@nginx ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y  ##安裝環(huán)境必要組件
    [root@nginx ~]# mkdir /abc
    [root@nginx ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/   ##掛載
    Password for root@//192.168.100.3/LNMP-C7:  
    [root@nginx ~]# cd /abc/
    [root@nginx abc]# tar zxvf nginx-1.12.2.tar.gz -C /usr/local/  ##解壓
    [root@nginx abc]# useradd -M -s /sbin/nologin nginx   ##創(chuàng)建系統(tǒng)用戶
    [root@nginx abc]# cd /usr/local/nginx-1.12.2/
    [root@nginx nginx-1.12.2]# ./configure \   ##配置
    > --prefix=/usr/local/nginx \
    > --user=nginx \
    > --group=nginx \
    > --with-http_stub_status_module \
    > --with-http_gzip_static_module \
    > --with-http_flv_module 
    [root@nginx nginx-1.12.2]# make && make install   ##編譯安裝 
    [root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
    #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        upstream tomcat-server {                             #添加地址池
                            server 192.168.80.151:8080 weight=1;
                            server 192.168.80.178:8080 weight=1;    
                        }
    
        server {
                listen       80;
    .....省略
    location / {
                        root   html;
                        index  index.html index.htm;
                        proxy_pass http://tomcat-server;         #添加代理,調(diào)用服務(wù)器地址池
                }
    [root@nginx nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  ##便于系統(tǒng)識別
    [root@nginx nginx-1.12.2]# nginx   ##開啟服務(wù)
  • 使用client測試機訪問nginx代理服務(wù)器
    Nginx+Tomcat負(fù)載均衡群集搭建步驟及流程是怎么樣的Nginx+Tomcat負(fù)載均衡群集搭建步驟及流程是怎么樣的
動靜分離
  • 在Nginx服務(wù)器上修改Nginx配置文件
    [root@nginx nginx-1.12.2]# vim /etc/init.d/nginx      //編寫service啟動腳本
    #!/bin/bash
    # chkconfig: - 99 20
    # description: Nginx Service Control Script
    PROG="/usr/local/nginx/sbin/nginx"
    PIDF="/usr/local/nginx/logs/nginx.pid"
    case "$1" in
    start)
        $PROG
        ;;
    stop)
        kill -s QUIT $(cat $PIDF)
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    reload)
        kill -s HUP $(cat $PIDF)
        ;;
    *)
                echo "Usage: $0 {start|stop|restart|reload}"
                exit 1
    esac
    exit 0
    [root@nginx nginx-1.12.2]# chmod +x /etc/init.d/nginx 
    [root@nginx nginx-1.12.2]# chkconfig --add nginx
    [root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
    server {
    ...省略...
     location ~.*.jsp$ {                  //匹配jsp頁面跳轉(zhuǎn)代理服務(wù)器池
         proxy_pass http://tomcat-server;
         proxy_set_header Host $host;
     }
            location / {
        root   html/test;   ##修改站點
        index  index.html index.htm;
        proxy_pass http://tomcat-server;
     }
    [root@nginx nginx-1.12.2]# vim /usr/local/nginx/html/index.html      //編寫靜態(tài)網(wǎng)頁
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>靜態(tài)頁面</title>
    <style>
    body {
    width: 35em;
    margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif;
    }
    </style>
    </head>
    <body>
    <h3>靜態(tài)頁面</h3>
    <p>這是個靜態(tài)頁面</p>
    </body>
    </html>
    [root@nginx nginx-1.12.2]# service nginx stop    ##關(guān)閉開啟服務(wù)
    [root@nginx nginx-1.12.2]# service nginx start
  • 在Tomcat1,Tomcat2服務(wù)器上創(chuàng)建jsp動態(tài)頁面
    [root@tomcat1 ~]# mkdir /usr/local/tomcat/webapps/test
    [root@tomcat1 ~]# vim /usr/local/tomcat/webapps/test/index.jsp
    <!DOCTYPE html>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ page import="java.util.Date" %>
    <%@ page import="java.text.SimpleDateFormat" %> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/ html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>動態(tài)頁面</title>
    </head>
    <body>
    <div>動態(tài)頁面1</div>
    </body>
    </html>
    //在Tomcat2上修改為動態(tài)頁面2
    //訪問靜態(tài)
    http://192.168.13.177/  
    //訪問動態(tài)  
    http://192.168.13.177/test/index.jsp
  • 配置Nginx處理靜態(tài)圖片,Tomcat處理動態(tài)頁面
    • 分別在兩臺Tomcat服務(wù)器上配置
      [root@tomcat1 ~]# vim /usr/local/tomcat/webapps/test/index.jsp
      <body>
      <div>動態(tài)頁面</div><br><img src="11.jpg"> //添加頁面圖片 
      </body>
      [root@tomcat01 local]# vim /usr/local/tomcat/conf/server.xml 
      //在第149行下追加以下條目,
      <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="false">
      </Context>
      [root@tomcat1 test]# shutdown.sh        //關(guān)閉重啟
      [root@tomcat1 test]# startup.sh
    • 在Nginx服務(wù)器上修改Nginx配置文件
      [root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
      location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ { 
      root html/test;
      expires 30d;
      }
      [root@nginx nginx-1.12.2]# mkdir /usr/local/nginx/html/test
      [root@nginx nginx-1.12.2]# cp /abc/11.jpg /usr/local/nginx/html/test/
      [root@nginx html]# service nginx restart       //重啟服務(wù)
  • 使用client測試
    Nginx+Tomcat負(fù)載均衡群集搭建步驟及流程是怎么樣的

看了以上關(guān)于Nginx+Tomcat負(fù)載均衡群集搭建步驟及流程是怎么樣的,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了。創(chuàng)新互聯(lián)官網(wǎng)鏈接bm7419.com

分享名稱:Nginx+Tomcat負(fù)載均衡群集搭建步驟及流程是怎么樣的
文章鏈接:http://bm7419.com/article46/pcoheg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、定制網(wǎng)站品牌網(wǎng)站制作、定制開發(fā)、網(wǎng)站內(nèi)鏈、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)