Apache 2.4 + Tomcat7集羣配置

1. 準備工作

首先下載Tomcat7 和Apache2.4

然後安裝Apache,安裝完成後在IE中輸入localhost訪問,如果出現It Works則表示Apache安裝好了,然後解壓縮到Tomcat1和Tomcat2兩個目錄中。

分別啓動Tomcat1和Tomcat2看是否可以正常啓動。


2. 配置Apache2.4

   ①打開conf/httpd.conf文件,加載以下模塊。

#---------------------start------------------------
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so
#----------------------end---------------------

 ② 如果你想看到小貓頁面,

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

在上面的index.html下面添加index.jsp就可以了


③去掉Include conf/extra/httpd-vhosts.conf的註釋標記#。


④在文件末尾加反向代理

ProxyRequests Off 
<proxy balancer://cluster> 
     BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1 
     BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2 
</proxy> 


⑤修改conf/extra/httpd-vhosts.conf文件。

註釋掉所有的dummy-host,添加以下內容

<VirtualHost *:80> 
         ServerAdmin [email protected] 
         ServerName localhost 
         ServerAlias localhost 
         ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On 
         ProxyPassReverse / balancer://cluster/ 
         ErrorLog "logs/lbtest-error.log" 
         CustomLog "logs/lbtest-access.log" common 
</VirtualHost>


2.配置Tomcat

Tomcat2 的修改conf/server.xml

① <Server port="8005" shutdown="SHUTDOWN">修改爲9005


②修改<Service name="Catalina">下的

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />中的8080爲9080

③<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />修改爲9009


④ <Engine name="Catalina" defaultHost="localhost">在末尾加 jvmRoute="jvm2"

同時修改Tomcat1的這個標籤爲jvmRoute="jvm1"


⑤<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>改爲

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">

        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

</Cluster>


配置完成之後,啓動兩個Tomcat測試一下Tomcat是否可以正常啓動

如果可以正常啓動,則進行下面步驟


在webApps下面添加Test目錄,添加Test.jsp

<%@ page contentType="text/html; charset=GBK" %> 
<%@ page import="Java.util.*" %> 
<html><head><title>Cluster App Test</title></head> 
<body> 
Server Info: 
<% 
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%> 
<% 
  out.println("<br> ID " + session.getId()+"<br>"); 
  String dataName = request.getParameter("dataName"); 
  
  if (dataName != null && dataName.length() > 0) { 
     String dataValue = request.getParameter("dataValue"); 
     session.setAttribute(dataName, dataValue); 
  }  
  
  out.print("<b>Session 列表</b>");  
  
  Enumeration e = session.getAttributeNames(); 
  
  while (e.hasMoreElements()) { 
     String name = (String)e.nextElement(); 
     String value = session.getAttribute(name).toString(); 
     out.println( name + " = " + value+"<br>"); 
         System.out.println( name + " = " + value); 
   } 
%> 
  <form action="test.jsp" method="POST"> 
    名稱:<input type=text size=20 name="dataName"> 
     <br> 
    值:<input type=text size=20 name="dataValue"> 
     <br> 
    <input type=submit> 
   </form> 
</body> 
</html> 

創建WEB-INF目錄,創建web.xml

?xml version="1.0" encoding="utf-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true"> 
    <distributable />
  </web-app>


最後啓動Apache2.4,在頁面中輸入localhost\test\test.jsp進行測試。


注意:Apache有可能啓動不起來,那麼解決方式是查看Apache安裝目錄下的logs目錄下的error.log文件,

根據log文件解決可能存在的問題。直到Apache可以正常啓動,至此Apache就可以正常啓動了。

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