配置Nginx+Tomcat負載均衡集羣

    Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其餘一些公司及我的共同開發而成。Tomcat 是一個輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試JSP 程序的首選。本篇博客將配置Nginx+Tomcat負載均衡集羣html



Tomcat的應用場景java

    Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試JSP 程序的首選。對於一個初學者來講,能夠這樣認爲,當在一臺機器上配置好Apache 服務器,可利用它響應對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務器的擴展,但它是獨立運行的,因此當你運行tomcat 時,它實際上做爲一個與Apache 獨立的進程單獨運行的,一般是做爲一個Servlet和JSP容器,單獨運行在後端,以下圖所示:linux

楊書凡17.png


案例:某公司發佈V3版移聯建站管理系統,該項目爲Java語言開發的Web站點,須要一套可靠的解決方案來完善Web站點架構。咱們以Nginx做爲負載均衡器,Tomcat做爲應用服務器的設置方法,配置負載集羣,來提高整個站點的負載併發能力nginx


1. 配置第一臺Tomcat服務器web

(1)安裝JDK,Tomcatapache

[root@localhost ~]# service iptables stop               //關閉防火牆
[root@localhost ~]# tar zxf jdk-7u65-linux-x64.gz       //安裝JDK,配置Java環境
[root@localhost ~]# mv jdk1.7.0_65/ /usr/local/java     //移動jdk文件夾到/usr/local下,重命名爲java
[root@localhost ~]# vim /etc/profile.d/java.sh          //創建腳本,使/usr/local/java/bin添加到PATH環境變量中
export java_home=/usr/local/java
export PATH=$PATH:$java_home/bin
[root@localhost ~]# sh /etc/profile.d/java.sh           //執行腳本,使其當即生效         
[root@localhost ~]# java -version                       //查看Java版本號,與以前安裝的一致
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

[root@localhost ~]# tar zxf apache-tomcat-7.0.54.tar.gz      //安裝Tomcat
[root@localhost ~]# mv apache-tomcat-7.0.54 /usr/local/tomcat      //將文件移動到/usr/local下,重命名爲tomcat
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh               //啓動tomcat服務
[root@localhost ~]# netstat -anpt | grep 8080                      //Tomcat默認運行在8080端口
tcp        0      0 :::8080                     :::*                        LISTEN      5344/java

(2)打開瀏覽器,查看配置啓動成功
楊書凡18.pngvim


(3)創建java的Web站點,存放網站文件,並製做測試文件後端

[root@localhost ~]# mkdir -p /web/webapp              //建立站點目錄
[root@localhost ~]# vim /web/webapp/index.jsp         //編寫測試文件
<html>
  <head>
    <title> ysf</title>
  <body>
    <% out.println("this is 192.168.1.2");%>
  </body>
</html>
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml    //修改主配置文件
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context docBase="/web/webapp" path="" reloadable="false">   //添加如下兩行
            </Context>
                        
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh 
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh      //重啓tomcat


(4)打開瀏覽器,驗證該tomcat站點已經配置成功瀏覽器

楊書凡19.png





2. 配置第二臺Tomcat服務器tomcat

    第二臺的配置方法與第一臺同樣,我就不在重複了

楊書凡20.png


3. Nginx服務器配置

[root@localhost ~]# service iptables stop           //關閉防火牆
[root@localhost ~]# yum -y install pcre-devel zlib-devel openssl-devel      //安裝相關軟件包
[root@localhost ~]# useradd -M -s /sbin/nologin nginx          //建立運行nginx服務的程序用戶
[root@localhost ~]# tar zxf nginx-1.6.0.tar.gz -C /usr/src/         
[root@localhost ~]# cd /usr/src/nginx-1.6.0/
[root@localhost nginx-1.6.0]# ./configure --prefix=/usr/local/nginx     //指定安裝
--user=nginx --group=nginx                 //指定運行的用戶和組
--with-file-aio                            //啓用文件修改支持
--with-http_stub_status_module             //啓用狀態統計
--with-http_gzip_static_module             //啓用gzip靜態壓縮
--with-http_flv_module                     //啓用flv模塊,提供尋求內存使用基於時間的偏移量文件
--with-http_ssl_module                     //啓用SSL模塊
[root@localhost nginx-1.6.0]# make && make install

[root@localhost nginx-1.6.0]# vim /usr/local/nginx/conf/nginx.conf      //修改配置文件
upstream tomcat_server {                    //在http{…}內添加如下代碼,設定負載均衡的服務器列表
        server 192.168.1.2:8080 weight=1;        //weight參數表明權值,權值越高被分配到的越大
        server 192.168.1.3:8080 weight=1;
     }
……省略部份內容
        location / {                            //在server{…}的location/{…}加入一行
            root   html;
            index  index.html index.htm;
            proxy_pass     //加入此行,代理前面設定的列表中服務器
        }

[root@localhost nginx-1.6.0]# /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
[root@localhost nginx-1.6.0]# /usr/local/nginx/sbin/nginx           //開啓nginx服務
[root@localhost nginx-1.6.0]# netstat -anpt | grep nginx            //查看nginx服務的端口號及PID進程號
tcp        0      0 0.0.0.0:80          0.0.0.0:*           LISTEN      4619/nginx


4. 測試負載均衡效果

    打開瀏覽器進行測試,能夠看到權重相同,頁面反覆在如下兩個頁面來回切換

楊書凡21.png

相關文章
相關標籤/搜索