分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

Apache和Tomcat 配置负载均衡(mod-proxy方式)-粘性session

发布时间:2023-09-06 02:26责任编辑:蔡小小关键词:配置

Tomcat集群配置后端Tomcat Server为支持AJP的独立服务,前端Apache配置为粘性会话(sticky-session),Tomcat不配置Cluster配置和Session复制。

配置Tomcat1的server.xml

修改:

Tomcat配置文件server.xml代码

 ???<Engine name="Catalina" defaultHost="localhost">

为:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

配置Tomcat2的server.xml

修改:

Tomcat配置文件server.xml代码

 ???<Engine name="Catalina" defaultHost="localhost">

为:

Tomcat配置文件server.xml代码

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

注意:

后端tomcat服务配置文件server.xml中指定的端口后用于接收Apache的代理转发请求,在后续apache配置中使用,本例中tomcat1和tomcat2都使用相同的配置:8009

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

3.APACHE配置

apache的配置方式还是采用vhost方式配置,主配置文件(conf/httpd.conf)引用(include)vhost子配置文件(conf/extra/httpd-vhosts.conf)方式.

Apache的编译请参考:http://zp820705.iteye.com/blog/1347749

apache编译为支持Proxy后的module情况:

Apache主配置文件httpd.conf代码

LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_scgi_module modules/mod_proxy_scgi.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule ssl_module modules/mod_ssl.soLoadModule speling_module modules/mod_speling.soLoadModule rewrite_module modules/mod_rewrite.so

删除主配置文件conf/httpd.conf文件中引用vhost的配置行的注释。

Apache主配置文件httpd-vhosts.conf代码

# Virtual hostsInclude conf/extra/httpd-vhosts.conf

Apache虚拟主机配置(httpd-vhost.conf)

Apache虚拟主机配置文件httpd-vhost.conf代码

<VirtualHost *:80> ???ErrorLog "logs/acooly.org-error_log" ???LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon ???CustomLog logs/access_log vcommon ???ProxyRequests Off ???ProxyPreserveHost on ???# apache+tomcat cluster ???ProxyPass / balancer://tomcat-cluster/ stickysession=JSESSIONID|jsessionid nofailover=Off ???ProxyPassReverse / balancer://tomcat-cluster/ ???<Proxy balancer://tomcat-cluster/> ?????BalancerMember ajp://10.10.10.11:8009 loadfactor=1 route=tomcat1 ?????BalancerMember ajp://10.10.10.12:8009 loadfactor=1 route=tomcat2 ?????ProxySet lbmethod=bybusyness ???</Proxy></VirtualHost>

stickysession=JSESSIONID|jsessionid

apache采用粘性会话配置,后端服务器是tomcat,指定sessionId参数为JSESSIONID和jsessionid,其中JSESSIONID是浏览器支持cookie方式session处理,jsessionid是客户端采用URL参数方式session处理。

nofailover=Off

表示apache-proxy支持failover,模式是支持的,可以不配置。

route=tomcat1route=tomcat2

表示后端tomcat服务处理标志,与具体后端tomcat服务中的server.xml配置文件中的Engine节点配置的jvmRoute属性相同。

4.测试

浏览器访问测试

http://10.10.10.11/cluster/index.jsp

stickysession测试

访问http://10.10.10.11/cluster/index.jsp,反复刷新,应该是同一后端服务器支持服务。

使用restlet工具restclient(http://code.google.com/p/rest-client/)访问http://10.10.10.11/cluster/index.jsp,查看返回报文:

sessionId为:

Set-CookieJSESSIONID=B7EACFABF5543D0E5C19155CCDC82D02.tomcat1; Path=/cluster

红色tomcat1表示指定由后端tomcat1服务。

Apache和Tomcat 配置负载均衡(mod-proxy方式)-粘性session

原文地址:https://www.cnblogs.com/jiangtao1218/p/10111190.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved