Apache2.2 Tomcat6.0.36 64位集群

来源:互联网 发布:es sql github 编辑:程序博客网 时间:2024/05/07 05:02
一、集群前准备工作:
1、下载apache_httpd-2.2.11-win32-x86-no_ssl
2、下载 tomcat6.0.36
二、开始配置
1、首先配置apache配置文件:
(1)  找到apache安装目录下的conf文件夹下的httpd.conf (我的安装目录为:D:\Program Files\Apache Group\Apache2),找到以下配置
             LoadModule proxy_module modules/mod_proxy.so
             LoadModule proxy_ajp_module modules/mod_proxy_ajp.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
把注释给去掉,第一步就完成了
(2)  配置文件往下搜索,找到Include conf/extra/httpd-vhosts.conf,把注释去掉,第二步完成
(3)   在配置文件的末尾添加如下配置
            <proxy balancer://cluster>
                   BalancerMember ajp://127.0.0.1:8011 loadfactor=1 route=jvm1
                   BalancerMember ajp://127.0.0.1:8012 loadfactor=1 route=jvm2
            </proxy>
       这是指定了tomcat集群的访问地址,红色字体下面会说到
(4)  配置 我们刚刚第二步注释的那个httpd-vhosts.conf文件
       把所有的<VirtualHost *:8080>标签都注释掉,增加如下配置:
        <VirtualHost *:8080>
                   ServerAdmin apache@sina.com
                   ServerName localhost
                   ServerAlias localhost
                   ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=On
                   ProxyPassReverse / balancer://cluster/
                   ErrorLog "logs/lbtest-error.log"   
                   CustomLog "logs/lbtest-access.log" common
       </VirtualHost>
(5) 找到Directory 标签,将默认值Deny修改为下面红色字体
                <Directory "D:/Program Files/Apache Group/Apache2/cgi-bin">
                         AllowOverride None
                         Options None
                        Order allow,deny
                        Allow from all
                </Directory>
这样我们就完成了apache这块儿的所有配置了

三、配置Tomcat,我们主要是针对server.xml进行配置,具体配置如下:
   (1)   修改<Server port="8006" shutdown="SHUTDOWN">,然后修改port值,一定要保证所有的port不重复(8007是修改过的)
   (2)   修改 <Connector port="8081" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" />把端口改为红色部分
   (3)   修改 <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />这个port值一定要与我们httpd.conf中的port值一致。
    (4)  把<Engine name="Catalina" defaultHost="localhost">注释掉, 在下面修改为:<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2">红色字体一定要与httpd.conf文件的route值一致。
    (5)  找到Cluster标签,取消注释, 并改为如下配置:
              <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
                      <Manager className="org.apache.catalina.ha.session.BackupManager"  
                                       expireSessionsOnShutdown="false"  
                                       notifyListenersOnReplication="true"  
                                       mapSendOptions="6"/>
                     <Channel className="org.apache.catalina.tribes.group.GroupChannel">
                                 <Membership className="org.apache.catalina.tribes.membership.McastService"
                                                       address="228.0.0.4"
                                                       port="45566"
                                                       frequency="500"
                                                       dropTime="3000"/>
                                <Receiver   className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                                                   address="auto"
                                                   port="5001"
                                                   selectorTimeout="100"
                                                   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"/> 
                              <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>        
                    </Channel>
                    <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
                    <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>
红色字体,有几个tomcat就要改变几个port值,一定不要重复,这样就完成了tomcat的配置
四、并发访问测试

(1)    启动apache和tomcat,
 (2)   在命令行进入apache安装目录下的bin文件夹,运行如下命令:
           ab.exe -n 20 -c 10 http://localhost:8080/index.jsp
           说明:  参数 n 代表请求的总数量,参数 c 代表并发的请求数,url代表要测试压力的地址
删除tomcat目录下webapps下的ROOT目录下的index.html,然后在index.jsp打印一些内容,不同的tomcat输入内容不两只,用来区别不同的并发。在tomcat控制台就可以看到index.jsp页面输出的内容。
0 0
原创粉丝点击