Apache+mod_jk+Tomcat+Memcached win32集群环境搭建

来源:互联网 发布:知君用心综琼瑶阅读 编辑:程序博客网 时间:2024/05/22 09:51

下载及安装:

         Jdk: http://blog.csdn.net/yxwmzouzou/article/details/19118275

Apache:http://blog.csdn.net/cyb_23/article/details/43857859

mod_jk:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/mod_jk-1.2.31-httpd-2.2.3.so

Tomcat: http://blog.csdn.net/gaojinshan/article/details/17736361

Memcached:http://download.csdn.net/detail/bbirdsky/7395123

整合配置:


一,配置多个tomcat集群,我这里在本机配置两个tomcat为例,修改第二个tomcat的端口,打开conf/server.xml文件进行修改

监听端口改为8015

<Server port="8015" shutdown="SHUTDOWN">

服务端口改为8180

<!-- Define a non-SSLHTTP/1.1 Connector on port 8080 -->
    <CONNECTOR port="8180"

JPA端口号改为8109

<!-- Define an AJP 1.3 Connector on port8009 -->
    <CONNECTOR port="8109"


二,配置Apache实现tomcat集群负载均衡

1,             找到apache安装目录(..\Apache2.2\conf)下http.conf文件修改添加:include conf/mod_jk.conf


2,             在http.conf同级目录添加mod_jk.conf文件,内容如下:

   #加载mod_jk Module   mod_jk文件

   LoadModule jk_module modules/ mod_jk-1.2.28-httpd-2.2.3.so  

 

   #指定 workers.properties文件路径  

  JkWorkersFileconf/workers.properties  

 

    #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器  

  JkMount /*.jsp controller 


3,             把下载的mod_jk-1.2.28-httpd-2.2.3.so md_jk文件放入..\Apache2.2\modules下


4,             在http.conf同级目录新建 workers.properties文件,内容如下:

worker.list =controller,tomcat1,tomcat2  #server 列表   

#========tomcat1========   

worker.tomcat1.port=8009       #ajp13 端口号,在tomcat下server.xml配置,默认8009   

worker.tomcat1.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址   

worker.tomcat1.type=ajp13   

worker.tomcat1.lbfactor =1    #server的加权比重,值越高,分得的请求越多   

  

#========tomcat2========   

worker.tomcat2.port=8109       #ajp13 端口号,在tomcat下server.xml配置,默认8009   

worker.tomcat2.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址   

worker.tomcat2.type=ajp13   

worker.tomcat2.lbfactor =2    #server的加权比重,值越高,分得的请求越多   

  

#========controller,负载均衡控制器========   

worker.controller.type=lb   

worker.controller.balanced_workers=tomcat1,tomcat2   #指定分担请求的tomcat   

worker.controller.sticky_session=1

 

三,使用Memcached实现session共享

1, 在下载及安装中把memcached安装好后,并启动.


2, 在集群中所有的tomcat下的../lib下加入memcached相关jar

javolution-5.4.3.1.jar

memcached-session-manager-1.8.2.jar

memcached-session-manager-tc6-1.8.2.jar

msm-javolution-serializer-1.8.2.jar

spymemcached-2.10.3.jar

以上jar包下载地址http://download.csdn.net/detail/xuke6677/7807877

3, 在集群中所有的tomcat下的../conf/context.xml加入以下内容:

<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"

  memcachedNodes="n1:127.0.0.1:11211"  

   lockingMode="auto"

   sticky="false"

   requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"   

   sessionBackupAsync= "false"  

   sessionBackupTimeout= "100" 

  copyCollectionsForSerialization="true"  

  transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"   

      />

 memcachedNodes="n1:127.0.0.1:11211" 指配置的memcached缓存服务器的节点,我例子中只配置了一个,如果多个的话直接追加以空格隔开,如:n1:127.0.0.1:11211 n2:127.0.0.1:11212


经过以上步骤,集群环境已经搭建完毕了,我们可以在web程序中进行测试,我在程序中写的是一个登录拦截器,在tomcat1登录成功后,在访问tomcat2的时候,可以免登录。

1 0
原创粉丝点击