Apache+Tomcat集群部署,session共享实现
2017-06-22 00:00
681 查看
摘要: Apache+Tomcat集群部署步骤
1 软件环境
1.1 Windows64位操作系统。
1.2 Apache Http Server 2.4.25 Windows 64位版本
1.3 Tomcat 7 64位版本。
1.4 Apache mod_jk.so Windows 64位版本。
2 软件安装配置
2.1 Apache Http Server&mod_jk配置。
解压软件包。
在apache安装目录下conf目录中找到http.conf,找到配置中的根路径参数,进行修改,SRVROOT后面的值修改为apache的安装路径或者其他你想要的设置的路径。
监听端口Listen 修改为你想要的端口,默认80,后期访问系统使用。保证端口未被占用。
将mod_jk.so拷贝到Apache安装路径的modules文件夹下
在apache安装目录下conf目录中找到http.conf,在文件最后加上
http.conf 同目录下新建mod_jk.conf文件,添加内容如下:
在http.conf同目录下新建 workers.properties文件,内容如下:
使用Windows命令行以管理员身份进入Apache程序的文件夹下的bin文件夹,输入httpd -k install,完成Apache服务的安装。
然后双击bin目录下的ApacheMonitor.exe,点击右边的start启动服务器,如果正常,如下图:
若启动失败,通过查看Windows日志解决
右键 计算机,点击管理->系统工具->时间查看器->Windows日志->应用程序,显示如下:
2.2 Tomcat 配置。
修改集群下的每个Tomcat的Server.xml文件
1、定义一个AJP 1.3 同一主机上的tomcat,各个连接端口不能相同(多个主机之间不限制),默认值为8009。
2、增加jvmRoute的值,保证同workers.properties里边配置的节点值一致。
3、开启集群配置。
2.3 集群环境实现session共享配置
在集群中的每个项目的web.xml中增加如下代码:
需要注意的是,这样做以后存入session的对象必须为序列化的对象。
http://blog.csdn.net/bingge1022/article/details/73277201
1 软件环境
1.1 Windows64位操作系统。
1.2 Apache Http Server 2.4.25 Windows 64位版本
1.3 Tomcat 7 64位版本。
1.4 Apache mod_jk.so Windows 64位版本。
2 软件安装配置
2.1 Apache Http Server&mod_jk配置。
解压软件包。
在apache安装目录下conf目录中找到http.conf,找到配置中的根路径参数,进行修改,SRVROOT后面的值修改为apache的安装路径或者其他你想要的设置的路径。
Define SRVROOT "D:/workgroup/tomcats/apache/Apache24" ServerRoot "${SRVROOT}"
监听端口Listen 修改为你想要的端口,默认80,后期访问系统使用。保证端口未被占用。
将mod_jk.so拷贝到Apache安装路径的modules文件夹下
在apache安装目录下conf目录中找到http.conf,在文件最后加上
include conf/mod_jk.conf
http.conf 同目录下新建mod_jk.conf文件,添加内容如下:
#指定模块路径 LoadModule jk_module modules/mod_jk.so #指定 workers.properties文件路径 JkWorkersFile conf/workers.properties #指定哪些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名 JkMount /* controller #指定jk的日志输出文件 JkLogFile logs/mod_jk.log #指定日志级别,我这里设置的警告 JkLogLevel warn #包含标准的mod_jk行为 (默认) #info #包含错误信息 #error #用来配置log文件的日期/时间格式. 使用strftime()的格式化字符串,默认是[%a %b %d %H:%M:%S %Y] JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" #Options Description(选项的说明) # %b 发送的字节, 不包括 HTTP headers (CLF format) # %B 发送的字节, 不包括 HTTP headers # %H 协议 # %m 请求方式(get/post) # %p 服务器响应请求的规范端口. # %q 查询字符串 (如果存在以?开头,否则是空串) # %r 请求的第一行. # %s HTTP状态码 # %T 请求间隔, 处理请求耗费的时间 秒.微秒 # %U 请求的url路径,不包含查询字符串. # %v 响应请求的规范服务器名字 # %V 根据UseCanonicalName设置的服务器名字. # %w Tomcat worker 名字 #JkRequestLogFormat 设置个人用户请求的log格式. JkRequestLogFormat "%w %V %T"
在http.conf同目录下新建 workers.properties文件,内容如下:
#这里可以配置任意多个Tomcat,此处配置了2个Tomat服务器. #host和port根据自己实际配置.实例配置的是本机两个tomcat,分别使用不同的端口.避免冲突 #如果Tomcat不再同一机器上,没必要改端口的。 #server 列表 worker.list=controller,status,tomcat1,tomcat2 #========tomcat1======== worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat1.host=127.0.0.1 #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor=1 #server的加权比重,值越高,分得的请求越多 #========tomcat2======== worker.tomcat2.port=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat2.host=127.0.0.1 #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=2 #server的加权比重,值越高,分得的请求越多 #========controller,负载均衡控制器======== worker.controller.type=lb #指定此负载平衡器负责的Tomcat应用节点。 worker.controller.balance_workers=tomcat1,tomcat2 #指定分担请求的tomcat #此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台 #Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。 worker.controller.sticky_session=false #描述是用于httpd自身状态监控的status worker.status.type=status
使用Windows命令行以管理员身份进入Apache程序的文件夹下的bin文件夹,输入httpd -k install,完成Apache服务的安装。
然后双击bin目录下的ApacheMonitor.exe,点击右边的start启动服务器,如果正常,如下图:
若启动失败,通过查看Windows日志解决
右键 计算机,点击管理->系统工具->时间查看器->Windows日志->应用程序,显示如下:
2.2 Tomcat 配置。
修改集群下的每个Tomcat的Server.xml文件
1、定义一个AJP 1.3 同一主机上的tomcat,各个连接端口不能相同(多个主机之间不限制),默认值为8009。
<Connector port="8009 " protocol="AJP/1.3" redirectPort="8443" />
2、增加jvmRoute的值,保证同workers.properties里边配置的节点值一致。
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
3、开启集群配置。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" managerClassName="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" useDirtyFlag="true" notifyListenersOnReplication="true"> <Membership className="org.apache.catalina.ha.mcast.McastService" mcastAddr="228.0.0.4" mcastPort="45564" mcastFrequency="500" mcastDropTime="3000"/> <Receiver className="org.apache.catalina.ha.tcp.ReplicationListener" tcpListenAddress="auto" tcpListenPort="4001" tcpSelectorTimeout="100" tcpThreadCount="6"/> <Sender className="org.apache.catalina.ha.tcp.ReplicationTransmitter" replicationMode="pooled" ackTimeout="15000" waitForAck="true"/> <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>
2.3 集群环境实现session共享配置
在集群中的每个项目的web.xml中增加如下代码:
<distributable/>
需要注意的是,这样做以后存入session的对象必须为序列化的对象。
http://blog.csdn.net/bingge1022/article/details/73277201
相关文章推荐
- Nginx+Tomcat+Memcached 实现集群部署时Session共享
- Apache + tomcat实现高并发负载均衡方案(四)----实现session共享(memcache)的集群
- 使用Tomcat+Redis来实现集群部署中的Session共享问题
- Apache+tomcat实现负载均衡集群和session共享、tengine+tomcat实现web动静分离
- 使用Tomcat+Redis来实现集群部署中的Session共享问题
- Nginx+Tomcat+Memcached 实现集群部署时Session共享
- Apache+Tomcat实现负载均衡及集群(session同步)--五、session同步(2)使用共享文件
- 使用Tomcat-redis-session-manager来实现Tomcat集群部署中的Session共享
- Apache + Tomcat + mod_jk实现集群服务及session共享
- Apache+Tomcat集群部署下的session共享解决
- Nginx+Tomcat+Memcached 实现集群部署时Session共享
- 使用Tomcat+Redis来实现集群部署中的Session共享问题
- 使用Tomcat-redis-session-manager来实现Tomcat集群部署中的Session共享
- 部署tomcat负载均衡集群,实现节点之间内存中的Session共享。
- Apache代理与Tomcat做负载过程并且实现session共享
- 通过memcached来实现对tomcat集群中Session的共享策略 .
- apache2.2.x和tomcat6.0.32集群并实现session复制功能
- tomcat使用memcached完成集群(session共享实现方式)
- Apache+Tomcat集群配置+session共享
- Nginx+Tomcat+Memcached实现tomcat集群和session共享