Apache+tomcat集群

一、安装

1.1、安装版本

apache-tomcat-7.0.40

apache httpd 2.2.22

tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x

1.2、下载安装过程略

该配置为单机多tomcat节点配置。


二、配置

httpd.conf

在文件的末尾添加以下内容:

#==================================================
#配置Apache与Tomcat之间的连接
LoadModule jk_module modules/mod_jk.so

#指定tomcat监听配置文件
JkWorkersFile conf/workers.properties

#指定日志存放位置
JkLogFile logs/mod_jk.log

#指定日志输出级别
JkLogLevel warn

HostnameLookups Off


#设置虚拟主机


	ServerAdmin [email protected]
	Serveralias localhost

	#站点路径中不能存在空格
	DocumentRoot "E:\HttpdRoot"
	
	ServerName localhost:80

	ErrorLog logs/shsc-error_log.txt
	CustomLog logs/shsc-access_log.txt common

	
 		Options Indexes FollowSymLinks
		#Options None	#禁止索引文件目录的权限
 		AllowOverride None
 		Order allow,deny
 		Allow from all
	

	#指定哪些请求转发给Tomcat处理,cluster1是workers.propertise配置文件里定义的负载均衡器的名字
	
	#JkMount /servlet/* cluster1
	JkMount /*.jsp cluster1
	#JkMount /*.action cluster1
	#JkMount /*.do cluster1
	#JkMount /*.action cluster1
	#JkMount /*j_spring_security_check cluster1
	



works.properties

该文件手动创建,放到httpd.conf文件同级目录下,文件内容:

#为解决找不到负载分发器的问题
#workers.java_home=C:/Program Files/Java/jdk1.7.0_04

worker.list=cluster1

#========tomcat1============================================================
#ajp13端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.port=8009
#tomcat所在机器的IP地址
worker.tomcat1.host=localhost
#协议类型ajp13
worker.tomcat1.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcat1.lbfactor=1

#========tomcat2============================================================
worker.tomcat2.port=9009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1

#========tomcat3============================================================
#worker.tomcat3.port=9019
#worker.tomcat3.host=192.168.68.171
#worker.tomcat3.type=ajp13
#worker.tomcat3.lbfactor=1

#========负载均衡控制器配置=================================================
worker.cluster1.type=lb
worker.cluster1.balance_workers=tomcat1,tomcat2

#关于tricky_session配置
# sticky_session  sticky_session_force        desc
# true            false                       SESSION会复制,有粘性
# true            true                        SESSION不复制,有粘性
# false           false                       SESSION会复制,有粘性
# false           true                        SESSION不复制,有粘性

# sticky_session=true - 请求始终由当前的tomcat处理
worker.cluster1.sticky_session=false
# sticky_session_force=false - 当tomcat挂了时,将session复制到另一台继续
worker.cluster1.sticky_session_force=false




tomcat1 的server.xml





  
  
  
  
  
  
  
  
  

  
  
    
    
  

  
  

    
    


    
    
    
    
    
    

    
    


    

    
    
		
		

          

          
            
            

            
              
            
            
            
          

          
          

          

          
          
        

      

		  

      
      
        
        
      

      

        
        

        
        

      
    
  



tomcat2 的 server.xml





  
  
  
  
  
  
  
  
  

  
  
    
    
  

  
  

    
    


    
	
    
			   
    
    
    
    

    
    


    

    
    
		
		

          

          
            
            

            
              
            
            
            
          

          
          

          

          
          
        

      
      

      
      
        
        
      

      

        
        

        
        

      
    
  



实际测试过程中遇到的问题

网上资料很多描述说,的监听端口如果是同一机器,各tomcat配置要区分开,我测试的实际情况是,设成不同端口tomcat之间session无法复制:


            


org.apache.catalina.tribes.membership.McastService的address和port在各tomcat里配置都必须完全相同,而Receiver的port,可以设为不同,如果相同,tomcat会自动区分开,设一个未被占用的端口。






你可能感兴趣的:(apache,cluster,tomcat)