站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        Linux環(huán)境搭建Nginx+Tomcat負(fù)載均衡集群

        Tomcat服務(wù)器是一個免費(fèi)的開放源代碼的web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,是開發(fā)和調(diào)試JSP程序的首選。由于Tomcat處理靜態(tài)HTML的能力運(yùn)不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨(dú)運(yùn)行在后端。

        • Nginx服務(wù)器能支持高達(dá)50000個并發(fā)連接數(shù)的響應(yīng),擁有強(qiáng)大的靜態(tài)資源處理能力,運(yùn)行穩(wěn)定,并且內(nèi)存、CPU等系統(tǒng)資源消耗非常低.

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

        案例環(huán)境:

        主機(jī) 操作系統(tǒng) IP地址 主要軟件
        Nginx服務(wù)器 RedHat7.3 x86_64 192.168.113.151 nginx-1.12.0.tar.gz
        Tomcat服務(wù)器1 CentOS7.4 x86_64 192.168.113.129 jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz
        Tomcat服務(wù)器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.啟動主機(jī)后關(guān)閉防火墻

        systemctl disable firewalld.service    //禁用防火墻服務(wù)  systemctl stop firewalld.service       //關(guān)閉防火墻服務(wù)

        2.安裝JDK,配置Java環(huán)境

        (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          //設(shè)置Java根目錄  export PATH=$PATH:$JAVA_HOME/bin          //在PATH環(huán)境變量中添加Java根目錄下的bin/子目錄

        (3).將java.sh腳本導(dǎo)入到環(huán)境變量,使其生效

        source /etc/profile.d/java.sh

        (4).運(yùn)行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默認(rèn)運(yùn)行在8080端口,運(yùn)行netstat命令查看8080端口監(jiān)聽的信息。

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

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

        4.建立Java的web站點(diǎn)

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

        [root@centos7-1 ~]# mkdir -pv /web/webapp1 mkdir: 已創(chuàng)建目錄 "/web" mkdir: 已創(chuàng)建目錄 "/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>  //測試頁標(biāo)題   </head> <body> <% out.println("Welcome to test site,http://www.test1.com");%>  //測試頁主體內(nèi)容   </body> </html>

        (3).修改Tomcat的server.xml文件。
        定義一個虛擬主機(jī),并將網(wǎng)站文件路徑指向已經(jīng)建立的/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應(yīng)用的文檔基準(zhǔn)目錄
        • reloadable: 設(shè)置監(jiān)視“類”是否變化
        • path=””: 設(shè)置默認(rèn)“類

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

        /usr/local/tomcat8/bin/shutdown.sh  //關(guān)閉Tomcat  /usr/local/tomcat7/bin/startup.sh   //重啟Tomcat

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

        • Tomcat2 server配置

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

        1.啟動主機(jī)后關(guān)閉防火墻。

        2.安裝JDK,配置Java環(huán)境,版本與Tomcat1 server一致。

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

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

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

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

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

        • Nginx服務(wù)器配置

          在Nginx服務(wù)器192.168.113.151上安裝Nginx,反向代理兩個Tomcat站點(diǎn),并實(shí)現(xiàn)負(fù)載均衡。

          1.關(guān)閉防火墻

          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     //創(chuàng)建運(yùn)行用戶www,強(qiáng)制禁止登陸系統(tǒng)shell環(huán)境  tar zxvf nginx-1.12.0.tar.gz -C /opt   //解壓nginx軟件至/opt目錄下  cd /opt/nginx-1.12.0/    //切換到解壓后的nginx文件夾目錄下  ./configure            //配置nginx的具體選項(xiàng)  --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:指定運(yùn)行的用戶和組
        • –with-file-aio:啟用文件修改支持
        • –with-http_stub_status_module:啟用狀態(tài)統(tǒng)計(jì)
        • –with-http_gzip_static_module:啟用gzip靜態(tài)壓縮
        • –with-http_flv_module:啟用flv模塊,提供尋求內(nèi)存使用基于時間的偏移量文件
        • –with-http_ssl_module:啟用ssl模塊

        4.配置nginx.conf

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

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

         upstream tomcat_server {                                             server 192.168.113.129:8080 weight=1;                server 192.168.113.150:8080 weight=1;                  }         //配置后端服務(wù)池tomcat_server,以提供響應(yīng)數(shù)據(jù)

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

        location / {              root   html;              index  index.html index.htm;              proxy_pass http://tomcat_server;          //配置將訪問請求轉(zhuǎn)發(fā)給后端服務(wù)器池的服務(wù)器處理          }

        利用以上方式,把Nginx的默認(rèn)站點(diǎn)通過proxy_pass方法代理到了設(shè)定好的tomcat_server負(fù)載均衡服務(wù)器組上。

        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服務(wù)并查看其端口

        [root@RedHat7-1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  //創(chuàng)建nginx主程序的軟鏈接,方便調(diào)用nginx命令  [root@RedHat7-1 ~]# nginx                  //啟動nginx服務(wù)  [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服務(wù)
        • 測試負(fù)載均衡效果

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

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

        第一次訪問,出現(xiàn)test1的測試頁面,刷新后,第二次訪問出現(xiàn)test2的測試頁面,這說明負(fù)載均衡集搭建成功,已經(jīng)可以在兩個tomcat server站點(diǎn)間進(jìn)行切換了。
        Linux環(huán)境搭建Nginx+Tomcat負(fù)載均衡集群

        Linux環(huán)境搭建Nginx+Tomcat負(fù)載均衡集群
        真實(shí)環(huán)境中,服務(wù)器集群站點(diǎn)的內(nèi)容相同,這里是為了測試負(fù)載均衡集的效果而建立2個不同的測試頁面。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国内精品久久久久久久亚洲 | 久久精品国产网红主播| 欧美精品亚洲精品日韩专区va| 亚洲av无码国产精品色在线看不卡| 精品一区二区三区免费| 久久久久人妻一区精品色| 精品一区二区三区免费视频| 四虎精品影院永久在线播放| 精品人妻va出轨中文字幕| 无码人妻精品一区二区蜜桃百度| 99久久国产综合精品五月天喷水 | 国产精品露脸国语对白| 中文字幕久久精品无码| 国产午夜精品一区二区| 99久久精品这里只有精品| 国产精品久久久久久一区二区三区| 亚洲AV成人精品一区二区三区| 欧美精品高清在线xxxx| 久久久久亚洲精品无码网址| 国产精品九九久久免费视频 | 97精品人妻一区二区三区香蕉| 国产精品久久久久久久| 国产精品久久久久久福利漫画| 国产剧情国产精品一区| 国内精品伊人久久久久AV影院| 青草国产精品久久久久久| 日韩精品无码免费一区二区三区| 亚洲av无码乱码国产精品| 亚洲国产另类久久久精品小说 | 久久国产精品免费一区二区三区| www.精品| 精品无码综合一区| 无码人妻一区二区三区精品视频 | 精品国产国产综合精品| 精品国偷自产在线视频| 久久久精品久久久久久 | 久久精品成人国产午夜| 久久精品国产亚洲网站| 99热都是精品久久久久久| 国产亚洲精品AA片在线观看不加载 | 永久无码精品三区在线4|