nginx實現負載均衡tomcat

  • 環境聲明


系統統一爲CentOS6.9

nginx的版本:nginx的-1.2.9.tar.gz

JDK版本:JDK-8u191-Linux的x64.tar.gz

Tomcat的版本:Apache的Tomcat的8.5.35.tar.gz

主機IP地址:

       nginx的反向代理:192.168.0.2

       tomcat的JDK +:192.168.0.3

本次實驗爲Tomcat的多實例(虛擬主機)

 

  • 0.3主機安裝JDK步驟


  1. 上傳JDK + Tomcat的源碼包至192.168.0.3主機
  2. 檢查主機是否安裝java中,如果有則卸載
    rpm -q java        #檢查系統是否自帶java
    rpm -e --nodeps java        #如果有則卸載java

     

  3. 解壓JDK包至/ Iur的/本地/下

    tar -xf jdk-8u191-linux-x64.tar.gz -C /usr/local/
    #解壓jdk包至/usr/local/
    cd /usr/local/
    mv jdk1.8.0_191 jdk1.8
    #爲了方便找jdk,進入解壓目錄並重命名

     

  4. 配置JDK環境變量

    vim /etc/profile        #修改環境變量配置文件
    #大G 跳到最後一行,添加
    #JAVA
    export JAVA_HOME=/usr/local/jdk1.8
    export JAVA_BIN=/usr/local/jdk1.8/bin
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    #退出
    source /etc/profile
    #重新加載環境變量配置文件

     

  • 0.3主機安裝的Tomcat步驟


  1. 解壓的Tomcat軟件包值在/ usr /本地/目錄下
    tar -xf apache-tomcat-8.5.35.tar.gz -C /usr/local
    #將軟件包解壓至指定目錄下
    cd /usr/local/
    mv apache-tomcat-8.5.35 /usr/local/apache-tomcat

     

  2. 配置Tomcat的環境變量
    vim /etc/profile
    #打開環境變量配置文件,大G,添加tomcat環境變量
    #TOMCAT
    export TOMCAT_HOME=/usr/local/tomcat-8080
    export PATH=$PATH:$TOMCAT_HOME/bin
    
    source /etc/profile
    #刷新配置文件

     

  3. 將tomcat的的倉目錄全部賦予執行權限
    chmod +x /usr/local/apache-tomcat/bin/*

     

  4. 開啓的tomcat
    /usr/local/tomcat-8080/bin/startup.sh
    #開啓taocat

     

  • 配置Tomcat的多實例步驟


  1. 將運行的tomcat的停止
    /usr/local/tomcat-8080/bin/shutdown.sh
    #關閉tomcat

     

  2. 拷貝解壓目錄,並刪除實例下的日誌文件
    cd /usr/local/
    cp -a apache-tomcat/ ./apache-tomcat-8090
    #這裏我拷貝的另一個實例爲apache-tomcat-8090
    
    cd apache-tomcat-8090/logs/
    rm -rf *
    #進到8090實例的logs目錄下,刪除所有日誌文件
    

     

  3. 打開Tomcat的配置文件,把把關機和連接器端口修改成自己想要的端口
    cd /usr/local/apache-tomcat-8090/conf/
    #進到tomcat的配置目錄下
    
    vim server.xml        #打開tomcat配置文件
    
    #這裏的8005端口爲默認關閉tomcat端口,因在第一個實例中8005以被佔用,所以要修改爲8006
    <Server port="8005" shutdown="SHUTDOWN">
    <Server port="8006" shutdown="SHUTDOWN">
    
    #這一行爲tomcat默認開啓的端口,因第一個實例佔用8080端口,所以改爲8090端口
    <Connector port="8080" protocol="HTTP/1.1"
    <Connector port="8090" protocol="HTTP/1.1"
    
    #修改端口可改成自己的端口,可隨便改,沒有限制,後面開始時記得訪問自己修改的端口即可

     

  4. 啓動tomcat的多實例
    /usr/local/apache-tomcat/bin/startup.sh start
    #開啓tomcat第一個實例
    
    /usr/local/apache-tomcat-8090/bin/startup.sh start
    #開啓tomcat第二個實例

     

02主機nginx的反向代理配置


  1. 解決nginx的源碼安裝時的依賴關係並安裝GCC
    yum -y install pcre-devel zlib-devel gcc*

     

  2. 解壓軟件包並創建用戶
    tar –xf nginx-1.2.9.tar.gz
    useradd -r -s /sbin/nologin nginx

     

  3. 進到軟件目錄,編譯並安裝
    ./configure --prefix=/usr/local/nginx –-user=nginx –-group=nginx
    #因爲nginx做負載均衡,所以沒有必要編譯其他模塊,只指定了一個運行用戶和組
    echo $? 
    #查看是否有報錯
    
    make && make install

     

  4. 修改配置文件,添加負載均衡
    cd /usr/local/nginx/conf/
    cp -a nginx.conf nginx.conf.bak
    #備份一下nginx配置文件,留作以後還原
    
    vim nginx.conf
    
    2 user  nginx;        #修改了nginx運行時的用戶
    3 worker_processes  auto;        #修改了啓動進程數量爲自動
    
    34     upstream tomcat {
    35         server 192.168.0.3:8080;
    36         server 192.168.0.3:8090;
    37     }
    #添加了一個負載調度池
    
    47         #location / {
    48         #    root   html;
    49         #    index  index.html index.htm;
    50         #}
    #註釋掉了location區域裏並在下面添加了一個新的location區域
    
    54         location / {
    55                 proxy_pass http://tomcat;      #將來自jsp請求交給tomcat調度池處理
    56                 proxy_set_header   Host   $host;
                        #後端的Web服務器可以通過X-Forwarded-For>獲取用戶真實IP
    57                 
    58         }
    

     

  5. 使用nginx的自帶命令檢查配置文件
    [root@localhost ~]# /usr/local/nginx/sbin/nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    
    #使用nginx -t選項來測試配置文件是否正常

     

爲了實驗環境可以看出訪問不同的Tomcat的實例,修改的Tomcat的首頁文件以分別區分


需注意:

apache和tomcat網頁默認保存位置
/usr/local/apache-tomcat/webapps             相當於apache的/var/www/html
#在tomcat下webapps目錄下新建網站目錄,存放網頁,如果在webapps目錄下新建網頁tomcat是不認的

/usr/local/apache-tomcat/webapps/ROOT        相當於apache的/etc/httpd/conf.d/welcome.conf
#如果網站測試目錄下沒東西,則使用測試頁

tomcat配置文件目錄
/usr/local/apache-tomcat/conf

因不會寫的Java網頁,則去修改的Tomcat的測試頁,來區分不同實例

vim /usr/local/apache-tomcat/webapps/ROOT/index.jsp
#修改測試頁

在vim的末行模式下:
/Home

找到Home改爲ROOT

保存並退出

再去nginx的上測試,就會發現兩個實例一個爲家庭,一個爲ROOT

 

以上爲所有試驗步驟

當一臺主機上運行多個Tomcat的實例時,可以理解爲阿帕奇的虛擬主機

當多臺主機上運行同一個tomcat的實例時,則爲多機並存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章