Centos下Apache+Tomcat集羣--搭建記錄

一.目的

  利用apache的mod_jk模塊,實現tomcat集羣服務器的負載均衡以及會話複製,這裏用到了<Cluster>.html

二.環境

  1.基礎:3臺主機,系統Centos6.5,4G內存,50G硬盤. yum源已更換爲阿里源(如何更換可參考博客的另一篇文章CDNjava

  2.軟件:development tools,jdk-7u9-linux-x64.rpm;源碼編譯軟件apr-util-1.5.4.tar.gz,apr-1.5.2.tar.gz,tomcat-connectors-1.2.40-src.tar.gz,httpd-2.4.16.tar.gzlinux

  3.源碼包下載地址:能夠去官網下載,或者在此網盤內下載:點擊連接web

  4.拓撲圖apache

    5.如今就能夠安裝部署了。bootstrap

三.部署安裝

Apache環節:vim

  1.編譯安裝apr後端

1 [root@apache down]# tar xf apr-1.5.2.tar.gz
2 [root@apache down]# cd apr-1.5.2
3 [root@apache apr-1.5.2]# ./configure --prefix=/usr/local/apr --disable-ipv6
4 [root@apache apr-1.5.2]# make && make install

  2.編譯安裝apr-util瀏覽器

1 [root@apache down]# tar xf apr-util-1.5.4.tar.gz
2 [root@apache down]# cd apr-util-1.5.4
3 [root@apache apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
4 [root@apache apr-util-1.5.4]# make && make install

  3.編譯安裝httpdtomcat

1 [root@apache ~]# yum -y install pcre-devel openssl-devel        (編譯安裝前,先安裝這兩個軟件,解決編譯httpd時的依賴問題)

  解壓httpd,並編譯安裝。(若是在編譯出錯狀況,請仔細排查錯誤,記得從新編譯時,須要make clean 清除一下)

1 [root@apache down]# tar xf httpd-2.4.16.tar.gz
2 [root@apache down]# cd httpd-2.4.16
3 [root@apache httpd-2.4.16]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-lbmethod-heartbeat --enable-heartbeat --enable-slotmem-shm --enable-slotmem-plain --enable-watchdog
4 [root@apache httpd-2.4.16]# make && make install

  爲apache 提供httpd腳本,並加入系統服務,設爲開機啓動,方便之後的服務管理,文件路徑 /etc/rc.d/init.d/httpd

[root@apache httpd-2.4.16]# vim /etc/rc.d/init.d/httpd

#!/bin/bash
#
# httpd  Startup script for the Apache HTTP Server
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server. It is used to serve \
#   HTML files and CGI.
# processname: httpd
# config: /etc/httpd/conf/httpd.conf
# config: /etc/sysconfig/httpd
# pidfile: /var/run/httpd.pid
# Source function library.
. /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/httpd ]; then
  . /etc/sysconfig/httpd
fi
# Start httpd in the C locale by default.
HTTPD_LANG=${HTTPD_LANG-"C"}
# This will prevent initlog from swallowing up a pass-phrase prompt if
# mod_ssl needs a pass-phrase from the user.
INITLOG_ARGS=""
# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
# with the thread-based "worker" MPM; BE WARNED that some modules may not
# work correctly with a thread-based MPM; notably PHP will refuse to start.
# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/var/run/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
RETVAL=0
start() {
  echo -n $"Starting $prog: "
  LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
  RETVAL=$?
  echo
  [ $RETVAL = 0 ] && touch ${lockfile}
  return $RETVAL
}
stop() {
 echo -n $"Stopping $prog: "
 killproc -p ${pidfile} -d 10 $httpd
 RETVAL=$?
 echo
 [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}
reload() {
 echo -n $"Reloading $prog: "
 if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then
  RETVAL=$?
  echo $"not reloading due to configuration syntax error"
  failure $"not reloading $httpd due to configuration syntax error"
 else
  killproc -p ${pidfile} $httpd -HUP
  RETVAL=$?
 fi
 echo
}
# See how we were called.
case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 status)
  status -p ${pidfile} $httpd
 RETVAL=$?
 ;;
 restart)
 ;;
 condrestart)
 if [ -f ${pidfile} ] ; then
  stop
  start
 fi
 ;;
 reload)
  reload
 ;;
 graceful|help|configtest|fullstatus)
 $apachectl $@
 RETVAL=$?
 ;;
 *)
 echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
 exit 1
esac
exit $RETVAL

  腳本編輯完成後,添加爲系統服務

1 [root@apache httpd-2.4.16]# chkconfig --add httpd
2 [root@apache httpd-2.4.16]# chkconfig httpd on 

  如今,去修改一下httpd.conf文件,開啓兩個模塊的支持,修改以前,咱們先來備份一下httpd.conf

[root@apache ~]# cd /etc/httpd/          (由於在編譯httpd時,將配置文件的目錄即conf下的文件放在了/etc/httpd/下面,因此配置須要去這裏。)
[root@apache httpd]# cp httpd.conf httpd.conf-10-1.bak
[root@apache httpd]# ls
extra  httpd.conf  httpd.conf-10-1.bak  magic  mime.types  original
1 [root@apache httpd]# vim httpd.conf
2 #找到如下兩行,取消註釋,若是找不到,手動添加進去亦可
3 LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
4 LoadModule slotmem_plain_module modules/mod_slotmem_plain.so

  配置完成後,如今檢查下配置文件,並啓動httpd

[root@apache httpd]# service httpd configtest
Syntax OK

[root@apache httpd]# service httpd start

  訪問網站,http://192.168.40.184,出現It Works!字樣,即表示成功。下面是安裝兩臺tomcat的記錄。

Tomcat環節:

  1.tomcatA軟件的安裝。先來安裝下jdk。

1 [root@tomcat1 download]# rpm -ivh jdk-7u79-linux-x64.rpm

  添加環境變量的文件,新建java.sh文件,內容以下

[root@tomcat1 download]# vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin

  測試一下

1 [root@tomcat1 download]# java -version
2 java version "1.7.0_79"
3 Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
4 Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

  2.安裝tomcat,解壓到/usr/local下

1 [root@tomcat1 download]# tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local/ && cd /usr/local
2 [root@tomcat1 local]# ln -sv apache-tomcat-8.0.26 tomcat
3 [root@tomcat1 local]# ll
4 lrwxrwxrwx  1 root root   21 Oct  1 17:30 tomcat -> apache-tomcat-8.0.26/

  如今配置tomcat的環境變量/etc/profile.d/tomcat.sh

1 [root@tomcat1 local]# vim /etc/profile.d/tomcat.sh
2 
3 export CATALINA_HOME=/usr/local/tomcat
4 export PATH=$PATH:$CATALINA_HOME/bin

  Ctrl + d 鍵註銷一下,再次登錄,試一下命令

[root@tomcat1 local]# catalina.sh version
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.7.0_79
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.0.26
Server built:   Aug 18 2015 11:38:37 UTC
Server number:  8.0.26.0
OS Name:        Linux
OS Version:     2.6.32-431.el6.x86_64
Architecture:   amd64
JVM Version:    1.7.0_79-b15
JVM Vendor:     Oracle Corporation

  方便tomcat服務的管理,咱們添加一個腳本,並加入系統服務

 1 [root@tomcat1 local]# vim /etc/init.d/tomcat 
 2 
 3 #!/bin/sh
 4 # Tomcat init script for Linux.
 5 #
 6 # chkconfig: 2345 96 14
 7 # description: The Apache Tomcat servlet/JSP container.
 8 CATALINA_HOME=/usr/local/tomcat #注意你的腳本路徑
 9 export CATALINA_HOME
10 # export CATALINA_OPTS="-Xms128m -Xmx256m"
11 exec $CATALINA_HOME/bin/catalina.sh $*
12 
13 [root@tomcat1 local]# chmod +x /etc/init.d/tomcat 
14 [root@tomcat1 local]# chkconfig --add tomcat
15 [root@tomcat1 local]# chkconfig tomcat on
16 #以後啓動一下,測試腳本是否正常
17 
18 [root@tomcat1 local]# service tomcat start
19 Using CATALINA_BASE:   /usr/local/tomcat
20 Using CATALINA_HOME:   /usr/local/tomcat
21 Using CATALINA_TMPDIR: /usr/local/tomcat/temp
22 Using JRE_HOME:        /usr
23 Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
24 Tomcat started.

  檢查一下啓動的端口號,正常應該會有如下幾個監聽的端口:8080,8005,而後能夠打開瀏覽器,訪問一下http://192.168.40.178.能夠看到小貓咪。安裝tomcat完成,如今就去修改配置文件,添加一個虛擬主機。

  3.虛擬主機配置,文件路徑/usr/local/tomcat/conf/server.xml,修改以前先備份此文件。將默認的8080端口修改爲80端口,在Engine中,將默認主機localhost修改爲www.test.com,並在後面追加一句 jvmRoute = 「TomcatA」,最後在文件倒數第三行前(即</Engine>上方)添加一個虛擬主機,以下標紅字體。

[root@tomcat1 local]# vim /usr/local/tomcat/conf/server.xml
      <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
                redirectPort="8443" />
     <Engine name="Catalina" defaultHost="www.test.com" jvmRoute="TomcatA">

        <Host name="www.test.com" appBase="/web"
            unpackWARs="true" autoDeploy="true">
            <Context path="/" docBase="webapp" reloadable="true"/>
        </Host>
    </Engine>

  如今檢查一下tomcat的配置文件,檢查以前須要先中止tomcat,否則會報錯。

[root@tomcat1 local]# service tomcat stop
[root@tomcat1 local]# service tomcat configtest
....
Oct 02, 2015 4:51:35 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2130 ms

  建立虛擬主機文件文檔目錄並建立測試網頁

[root@tomcat1 local]# mkdir -p /web/webapp/
[root@tomcat1 local]# cd /web/webapp/
[root@tomcat1 webapp]# vim index.jsp     
<%@ page language="java" %>
<html>
 <head><title>TomcatA</title></head>
 <body>
 <h1><font color="red">TomcatA </h1>
 <table align="centre" border="1">
  <tr>
  <td>Session ID</td>
 <% session.setAttribute("abc","abc"); %>
  <td><%= session.getId() %></td>
  </tr>
  <tr>
  <td>Created on</td>
  <td><%= session.getCreationTime() %></td>
  </tr>
 </table>
 </body>
</html>

[root@tomcat1 webapp]# service tomcat start

  啓動服務後,能夠打開網站,http://192.168.40.178,出現如下說明配置成功了。

  另一臺服務器TomcatB也要按照上述的操做部署。如出一轍的去部署。仔細,每一個環節都不能少了。(注意,惟一不一樣的是tomcatB服務器的server.xml中的jvmRoute填寫的是TomcatB)

四.利用mod_jk實現負載均衡

  mod_jk 是一個工做在apache端基於AJP協議與Tomcat通訊的鏈接器,是apache的一個模塊,是AJP協議的客戶端。(服務端是Tomcat的AJP鏈接器)

  1.下面安裝tomcat-connectors

1 [root@apache down]# tar xf tomcat-connectors-1.2.40-src.tar.gz 
2 [root@apache down]# cd tomcat-connectors-1.2.40-src/native/
3 [root@apache native]# ./configure --with-apxs=/usr/local/apache/bin/apxs 
4 [root@apache native]# make && make install

  2.模塊安裝完成後,咱們能夠查看一下。ls /usr/local/apache/modules/ | grep mod_jk .爲了便於管理與mod_jk模塊相關的配置,在此使用一個專門的配置文件/etc/httpd/extra/httpd-jk.conf來保存相關配置,內容以下(須要新建):

[root@apache native]# vim /etc/httpd/extra/httpd-jk.conf

#Load the mod_jk
LoadModule jk_module modules/mod_jk.so                  #加載mod_jk模塊
JkWorkersFile /etc/httpd/extra/workers.properties            #配置文件位置
JkLogFile logs/mod_jk.log                          #日誌
JkLogLevel debug                               #日誌級別
JkMount /* lbcluster                             # 負載均衡器名稱
JkMount /jkstatus/ stat1      #(最後單詞是個數字1)             #狀態信息

  而後去編輯/etc/httpd/extra/workers.properties文件,內容以下所示:

[root@apache native]# vim /etc/httpd/extra/workers.properties

worker.list=lbcluster,stat1                    #列表信息
worker.TomcatA.port=8009                      #TomcatA實例端口
worker.TomcatA.host=192.168.40.178                #TomcatA主機
worker.TomcatA.type=ajp13                     #支持協議 
worker.TomcatA.lbfactor=1                                    #負載均衡權重爲1

worker.TomcatB.host=192.168.40.180
worker.TomcatB.port=8009
worker.TomcatB.type=ajp13
worker.TomcatB.lbfactor=1

worker.lbcluster.type = lb                      #負載均衡work,lb內置類
worker.lbcluster.sticky_session = 0                  #會話是否綁定
worker.lbcluster.balance_workers = TomcatA,TomcatB          #集羣中實例
worker.stat1.type = status                        #狀態信息

 

  如今去修改apache的配置文件,引用上一步咱們寫入的mod_jk的配置文件,並註釋一條信息,以下所示。

[root@apache native]# vim /etc/httpd/httpd.conf
#DocumentRoot "/usr/local/apache/htdocs"
#在文件的末尾添加下面這行內容
Include /etc/httpd/extra/httpd-jk.conf

  下面重啓一下httpd服務器,並先中止後端的TomcatA和TomcatB服務器,在啓動服務(沒有重啓功能)。而後打開瀏覽器,進入測試,訪問http://192.168.40.184,這裏是apache的網址。刷新網頁,則會來回跳轉到TomcatA 和TomcatB後端服務器上。以下所示:

  經過mod_jk提供的接口,能夠查看羣集的狀態信息。瀏覽器訪問http://192.168.40.184/jkstatus,以下圖所示

五.DeltaManager實現session保持

Tomcat 配置

  1.修改TomcatA的server.xml配置文件,放在倒數第三行</Engine>上,此處放置的位置定義在Engine容器中,則是對全部主機均啓用集羣功能,若是定義在某Host主機中,則表示近對此主機啓用集羣功能。

  注意事項:有的文章裏配置文件裏有這句話:<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> ,此選項在tomcat8中被移除了。因此若是你的版本是tomcat8的話,須要注意一下

[root@tomcat1 conf]# vim server.xml

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager" 
expireSessionsOnShutdown="false" 
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService" 
address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
address="192.168.40.178" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter="/"/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" 
deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>

  2.修改TomcatB的server.xml文件,一樣在倒數第三行的</Engine>上方添加如下內容。

[root@tomcat2 conf]# vim server.xml
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager" 
expireSessionsOnShutdown="false" 
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService" 
address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
address="192.168.40.180" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter="/"/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" 
deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>

  分別在tomcatA和tomcatB上 執行如下命令測試,檢測配置文件。

[root@tomcat2 conf]# service tomcat configtest
.....
Oct 02, 2015 6:21:59 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2105 ms

   此外,全部啓用集羣功能的web應用程序,其web.xml中都必須添加<distributable/>才能實現集羣功能。若是某web應用程序沒有本身的web.xml,也能夠經過複製默認的web.xml到其WEB-INF目錄中實現。

  3.修改web.xml

  TomcatA:

 1 [root@tomcat1 ~]# vim /usr/local/tomcat/conf/web.xml 
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
 5                       http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 6   version="3.1">
 7 
 8 <distributable/>          (只須要添加這一句話便可 9 
10 [root@tomcat1 ~]# mkdir -p /web/webapp/WEB-INF && cp /usr/local/tomcat/conf/web.xml /web/webapp/WEB-INF/

  TomcatB:

[root@tomcat2 ~]# vim /usr/local/tomcat/conf/web.xml 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1">

<distributable/>

[root@tomcat2 ~]# mkdir -p /web/webapp/WEB-INF && cp /usr/local/tomcat/conf/web.xml /web/webapp/WEB-INF/

  4.啓動tomcat服務器

  TomcatB:

 1 [root@tomcat1 ~]# service tomcat start
 2 [root@tomcat1 ~]# netstat -aultnp
 3 Active Internet connections (servers and established)
 4 Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
 5 tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      20397/sshd          
 6 tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1240/master         
 7 tcp        0     52 192.168.40.178:22           192.168.30.192:49761        ESTABLISHED 30625/sshd          
 8 tcp        0      0 :::80                       :::*                        LISTEN      32724/java          
 9 tcp        0      0 :::22                       :::*                        LISTEN      20397/sshd          
10 tcp        0      0 ::1:25                      :::*                        LISTEN      1240/master         
11 tcp        0      0 ::ffff:192.168.40.178:4000  :::*                        LISTEN      32724/java          
12 tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      32724/java          
13 tcp        0      0 :::8009                     :::*                        LISTEN      32724/java          
14 tcp        0      0 ::ffff:192.168.40.178:43142 ::ffff:192.168.40.180:4000  TIME_WAIT   -                   
15 tcp        0      0 ::ffff:192.168.40.178:43143 ::ffff:192.168.40.180:4000  ESTABLISHED 32724/java          
16 tcp        0      0 ::ffff:192.168.40.178:4000  ::ffff:192.168.40.180:48954 ESTABLISHED 32724/java          
17 udp        0      0 :::45564                    :::*                                    32724/java    

  TomcatB:

[root@tomcat2 ~]# service tomcat start
[root@tomcat2 ~]# netstat -altpnu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1159/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1235/master         
tcp        0     52 192.168.40.180:22           192.168.30.192:49762        ESTABLISHED 24958/sshd          
tcp        0      0 :::80                       :::*                        LISTEN      26540/java          
tcp        0      0 :::22                       :::*                        LISTEN      1159/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      1235/master         
tcp        0      0 ::ffff:192.168.40.180:4000  :::*                        LISTEN      26540/java          
tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      26540/java          
tcp        0      0 :::8009                     :::*                        LISTEN      26540/java          
tcp        0      0 ::ffff:192.168.40.180:4000  ::ffff:192.168.40.178:43143 ESTABLISHED 26540/java          
tcp        0      0 ::ffff:192.168.40.180:48954 ::ffff:192.168.40.178:4000  ESTABLISHED 26540/java          
udp        0      0 :::45564                    :::*                                    26540/java              

  5.如今打開瀏覽器,訪問http://192.168.40.184,進行驗證。

  不管如何刷新,圖中的SessionID都是不變的。

  經過以上的觀察,咱們tomcat集羣負載功能已經實現,而且配置了DeltaManager獲得session的複製。

六.總結

  經過以上的安裝配置,以及過程當中遇到的故障的解決,對apache的以及tomcat獲得一些瞭解和認識。編譯安裝雖然說很麻煩,確實很容易出錯。。。。

 

    本文大多數參考freeloda的博客,在原文基礎上加入了一點點本身的修改,以及最新版軟件使用時的不兼容。原文: 「Share your knowledge …」 博客,請務必保留此出處http://freeloda.blog.51cto.com/2033581/1301382

  參考資料:關於tomcat8的權威指南:http://wiki.jikexueyuan.com/project/tomcat/

相關文章
相關標籤/搜索