站長資訊網
        最全最豐富的資訊網站

        Linux環境搭建Nginx+Tomcat負載均衡集群

        Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬于輕量級應用服務器,是開發和調試JSP程序的首選。由于Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在后端。

        • Nginx服務器能支持高達50000個并發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,并且內存、CPU等系統資源消耗非常低.

        通常情況下,一個Tomcat站點由于可能出現單點故障及無法應付過多客戶復雜請求等問題,不能單獨應用于生產環境下,目前很多大型網站都應用Nginx服務器作為后端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給后端服務器池的服務器來處理。網站拓撲圖如圖所示:
        Linux環境搭建Nginx+Tomcat負載均衡集群

        案例環境:

        主機 操作系統 IP地址 主要軟件
        Nginx服務器 RedHat7.3 x86_64 192.168.113.151 nginx-1.12.0.tar.gz
        Tomcat服務器1 CentOS7.4 x86_64 192.168.113.129 jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz
        Tomcat服務器2 CentOS7.4 x86_64 192.168.113.150 jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz
        • Tomcat1 server配置

        1.啟動主機后關閉防火墻

        systemctl disable firewalld.service    //禁用防火墻服務  systemctl stop firewalld.service       //關閉防火墻服務

        2.安裝JDK,配置Java環境

        (1).解壓jdk軟件至/opt目錄下,并將解壓后生成的jdk文件夾移到/usr/local/下,改名為java。

        tar zxvf jdk-7u65-linux-x64.gz -C /opt  mv jdk1.7.0_65/ /usr/local/java

        (2).在/etc/profile.d/下建立java.sh腳本。

        [root@centos7-1 ~]# vim /etc/profile.d/java.sh  export JAVA_HOME=/usr/local/java          //設置Java根目錄  export PATH=$PATH:$JAVA_HOME/bin          //在PATH環境變量中添加Java根目錄下的bin/子目錄

        (3).將java.sh腳本導入到環境變量,使其生效

        source /etc/profile.d/java.sh

        (4).運行java-version命令查看java版本是否和之前安裝的一致。

        [root@centos7-1 ~]# java -version openjdk version "1.8.0_131"  OpenJDK Runtime Environment (build 1.8.0_131-b12)  OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

        3.安裝配置Tomcat

        (1).解壓apache-tomcat-8.5.16.tar.gz包至/opt目錄,并將解壓后生成的文件夾移動到/usr/local/下,改名為tomcat8。

        tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/  mv apache-tomcat-8.5.16/ /usr/local/tomcat8

        (2).啟動Tomcat

        [root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh   Using CATALINA_BASE:   /usr/local/tomcat8  Using CATALINA_HOME:   /usr/local/tomcat8  Using CATALINA_TMPDIR: /usr/local/tomcat8/temp  Using JRE_HOME:        /usr/local/java  Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar  Tomcat started.

        Tomcat默認運行在8080端口,運行netstat命令查看8080端口監聽的信息。

        [root@centos7-1 ~]# netstat -ntap | grep 8080    tcp6       0 0 :::8080 :::*                    LISTEN      1583/java   

        (3).打開瀏覽器訪問測試http://192.168.113.129:8080/, 如果出現x下面的界面,則表示Tomcat已經配置啟動成功。
        Linux環境搭建Nginx+Tomcat負載均衡集群

        4.建立Java的web站點

        (1).在根目錄下建立一個web目錄,并在里面建立一個webapp1目錄,用于存放網站文件。

        [root@centos7-1 ~]# mkdir -pv /web/webapp1 mkdir: 已創建目錄 "/web" mkdir: 已創建目錄 "/web/webapp1"

        (2).在webapp1目錄下建立一個index.jsp的測試頁面。

        [root@centos7-1 ~]# vim /web/webapp1/index.jsp     <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>    //注釋  <html> <head> <title>JSP test1 page</title>  //測試頁標題   </head> <body> <% out.println("Welcome to test site,http://www.test1.com");%>  //測試頁主體內容   </body> </html>

        (3).修改Tomcat的server.xml文件。
        定義一個虛擬主機,并將網站文件路徑指向已經建立的/web/webapp1,在host段增加context段。

        [root@centos7-1 ~]# vim /usr/local/tomcat8/conf/server.xml     <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context docBase="/web/webapp1" path="" reloadable="false"> </Context> 
        • docBase:web應用的文檔基準目錄
        • reloadable: 設置監視“類”是否變化
        • path=””: 設置默認“類

        (4).關閉Tomcat,再重新啟動。

        /usr/local/tomcat8/bin/shutdown.sh  //關閉Tomcat  /usr/local/tomcat7/bin/startup.sh   //重啟Tomcat

        (5).通過瀏覽器訪問http://192.168.113.129:8080/, 出現下面的界面,說明Tomcat站點配置成功并且能夠運行JSP了。
        Linux環境搭建Nginx+Tomcat負載均衡集群

        • Tomcat2 server配置

          Tomcat2 server配置方法基本同Tomcat1,其中包括:

        1.啟動主機后關閉防火墻。

        2.安裝JDK,配置Java環境,版本與Tomcat1 server一致。

        3.安裝配置Tomcat,版本與Tomcat1 server一致。

        4.創建/web/webapp1目錄,修改Tomcat配置文件server.xml文件,將網站文件目錄更改到/web/webapp1/路徑下。

        5.在/web/webapp1/路徑下建立index.jsp,為了區別將測試頁index.jsp的內容更改如下:

        [root@localhost ~]# vim /web/webapp1/index.jsp     <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>    //注釋  <html> <head> <title>JSP test2 page</title>  //測試頁標題   </head> <body> <% out.println("Welcome to test site,http://www.test2.com");%>  //測試頁主體內容   </body> </html>

        6.啟動tomcat,瀏覽器訪問http://192.168.113.150:8080/, 出現下面的界面,說明Tomcat站點配置成功并且能夠運行JSP了。
        Linux環境搭建Nginx+Tomcat負載均衡集群

        • Nginx服務器配置

          在Nginx服務器192.168.113.151上安裝Nginx,反向代理兩個Tomcat站點,并實現負載均衡。

          1.關閉防火墻

          systemctl disable firewalld.service systemctl stop firewalld.service

          2.安裝支持軟件

          yum install gcc gcc-c++ make pcre pcre-devel zlib-devel openssl-devel -y

          3.解壓并安裝Nginx

          useradd  -s /bin/false www     //創建運行用戶www,強制禁止登陸系統shell環境  tar zxvf nginx-1.12.0.tar.gz -C /opt   //解壓nginx軟件至/opt目錄下  cd /opt/nginx-1.12.0/    //切換到解壓后的nginx文件夾目錄下  ./configure            //配置nginx的具體選項  --prefix=/usr/local/nginx     --user=www   --group=www   --with-file-aio   --with-http_stub_status_module   --with-http_gzip_static_module   --with-http_flv_module   --with-http_ssl_module
        • –prefix=/usr/l,ocal/nginx:指定nginx安裝路徑
        • –user=www,–group=www:指定運行的用戶和組
        • –with-file-aio:啟用文件修改支持
        • –with-http_stub_status_module:啟用狀態統計
        • –with-http_gzip_static_module:啟用gzip靜態壓縮
        • –with-http_flv_module:啟用flv模塊,提供尋求內存使用基于時間的偏移量文件
        • –with-http_ssl_module:啟用ssl模塊

        4.配置nginx.conf

        vim /usr/local/nginx/conf/nginx.conf

        (1).在http{…}中加入以下代碼,設定負載均衡的服務器列表,weight參數表示權值,權值越高被分配到的概率越大。為了使測試效果明顯,把權重設置為一樣。

         upstream tomcat_server {                                             server 192.168.113.129:8080 weight=1;                server 192.168.113.150:8080 weight=1;                  }         //配置后端服務池tomcat_server,以提供響應數據

        (2).在http{…} – server{…} – location /{…}中加入一行“proxy_pass http://tomcat_server;” 。

        location / {              root   html;              index  index.html index.htm;              proxy_pass http://tomcat_server;          //配置將訪問請求轉發給后端服務器池的服務器處理          }

        利用以上方式,把Nginx的默認站點通過proxy_pass方法代理到了設定好的tomcat_server負載均衡服務器組上。

        5.測試nginx配置文件是否正確。

        [root@RedHat7-1 ~]# /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

        6.啟動Nginx服務并查看其端口

        [root@RedHat7-1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  //創建nginx主程序的軟鏈接,方便調用nginx命令  [root@RedHat7-1 ~]# nginx                  //啟動nginx服務  [root@RedHat7-1 ~]# netstat -ntap | grep nginx  tcp        0 0 0.0.0.0:80 0.0.0.0:*               LISTEN      17819/nginx: master  [root@RedHat7-1 ~]# killall -1 nginx     //重啟nginx服務
        • 測試負載均衡效果

        1.打開瀏覽器訪問http://192.168.113.151/.

        2.不斷刷新瀏覽器測試,可以看到由于權重相同,頁面會反復在以下兩個頁面切換。

        第一次訪問,出現test1的測試頁面,刷新后,第二次訪問出現test2的測試頁面,這說明負載均衡集搭建成功,已經可以在兩個tomcat server站點間進行切換了。
        Linux環境搭建Nginx+Tomcat負載均衡集群

        Linux環境搭建Nginx+Tomcat負載均衡集群
        真實環境中,服務器集群站點的內容相同,這里是為了測試負載均衡集的效果而建立2個不同的測試頁面。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 蜜桃麻豆www久久国产精品| 亚洲精品免费视频| 国产精品日韩欧美在线第3页 | 国产日韩高清三级精品人成 | 精品国产乱码一区二区三区| 色妞ww精品视频7777| 亚洲精品无码AV人在线播放 | 婷婷国产成人精品视频| 精品国产日韩亚洲一区| 亚洲欧美日韩精品久久亚洲区| 久久久一本精品99久久精品88 | 鲸鱼传媒绿头鱼实验室之炮机测评日韩精品一级毛 | 精品无码日韩一区二区三区不卡 | 亚洲精品卡2卡3卡4卡5卡区| 精品国内自产拍在线观看| 国产在线精品一区二区不卡| 国产成人精品久久亚洲高清不卡| 精品久久久久久无码国产| 亚洲精品无码MV在线观看| 免费精品视频在线| 久久精品成人影院| 国产精品免费一区二区三区四区| 久久精品成人免费网站| 精品国产第一国产综合精品| 亚洲AV永久无码精品网站在线观看 | 日韩av无码久久精品免费| 亚洲精品97久久中文字幕无码| 国产成人精品免费视频动漫| 国产91在线精品| 久久精品国产亚洲一区二区| 午夜亚洲av永久无码精品| 精品国产污污免费网站| 成人精品视频99在线观看免费| 国产成人毛片亚洲精品| 久久99国产精品二区不卡| 国产成人精品免费视频大全麻豆| 高清免费久久午夜精品| 精品久久久久久国产| 国内精品在线视频| 久久精品一区二区三区不卡| 亚洲精品国产成人99久久|