6,Tomcat 的负载均衡---Tomcat + httpd(mod_proxy)
2021-01-03 14:28
标签:实现 share request 一个 负载均衡。 and ajp 技术 ssi 当httpd端采用mod_proxy和tomcat连接时,可以采用ajp或http协议进行连接。 要使用mod_proxy与Tomcat连接,需要apache已经装载mod_proxy、mod_proxy_http、mod_proxy_ajp和proxy_balancer_module(实现Tomcat负载均衡时用到)等模块。使用rpm包安装的httpd一般默认已经启用它们,如果是编译httpd,则在编译选项中加上以下对应几项: --enable-proxy --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer 如果是已经编译好的Httpd,则可以使用apxs工具,向httpd中添加这几个新模块。添加方法见:httpd添加新模块。 确保proxy相关的模块已经加载了。 [root@xuexi ~]# httpd -M | grep proxy Syntax OK proxy_module (shared) proxy_balancer_module (shared) proxy_ftp_module (shared) proxy_http_module (shared) proxy_ajp_module (shared) proxy_connect_module (shared) 5.1 配置httpd代理到tomcat 基于ajp连接协议和tomcat连接时,向httpd添加以下配置文件。如果要基于http协议连接tomcat,将上面配置文件的ajp协议改为http协议,并修改端口即可。 [root@xuexi ~]# cat /etc/httpd/conf.d/ajp.conf SetHandler balancer-manager Proxypass ! # 表示此Location的URL不进行反向代理 Require ip 192.168.100 ProxyVia Off ProxyRequests Off ProxyPreserveHost Off ProxyPassMatch "^/(.*\.jsp)$" ajp://192.168.100.22:8009/$1 ProxyPassReverse "^/(.*\.jsp)$" ajp://192.168.100.22:8009/$1 Require all granted 重启httpd。注意,重启前将前面mod_jk实验的配置文件删除掉。 关于如上apache配置的几个指令,解释如下。httpd反向代理的详细内容,可参见:详细分析apache httpd反向代理的用法。 5.2 通过mod_proxy负载均衡tomcat 关于httpd反向代理的负载均衡配置方式,参见详细分析apache httpd反向代理的用法。 在httpd.conf中配置如下内容: BalancerMember ajp://192.168.100.38:8009 loadfactor=5 BalancerMember ajp://192.168.100.36:8009 loadfactor=10 ProxyVia Off ProxyRequests Off ProxyPreserveHost Off ProxyPassMatch "^/(.*\.jsp)$" balancer://TomcatLB/$1 ProxyPassReverse "^/(.*\.jsp)$" balancer://TomcatLB/$1 Require all granted SetHandler balancer-manager Proxypass ! Require ip 192.168.100 重启httpd并在浏览器中输入192.168.100.17/test/index.jsp测试,测试时会轮调两次tomcatB再轮调一次tomcatA。 如果要实现session粘滞(绑定),则修改httpd配置文件如下: BalancerMember ajp://192.168.100.22:8009 loadfactor=5 route=TomcatA BalancerMember ajp://192.168.100.23:8009 loadfactor=10 route=TomcatB ProxySet lbmethod=byrequets ProxyVia Off ProxyRequests Off ProxyPreserveHost Off ProxyPassMatch "^/(.*\.jsp)$" balancer://TomcatLB/$1 stickysession=JSESSIONID ProxyPassReverse "^/(.*\.jsp)$" balancer://TomcatLB/$1 stickysession=JSESSIONID Require all granted SetHandler balancer-manager Proxypass ! Require ip 192.168.100 然后分别配置tomcatA和tomcatB的engine组件,分别加上jvmRoute="TomcatA"和jvmRoute="TomcatB"属性。 重启httpd和tomcatA、tomcatB,然后测试结果,再测试时同一客户端将总是得到同一个结果,不会出现负载均衡。 转载请注明出处:http://www.cnblogs.com/f-ck-need-u/p/8414043.html 6,Tomcat 的负载均衡---Tomcat + httpd(mod_proxy) 标签:实现 share request 一个 负载均衡。 and ajp 技术 ssi 原文地址:https://www.cnblogs.com/k8s-pod/p/13648367.html
文章标题:6,Tomcat 的负载均衡---Tomcat + httpd(mod_proxy)
文章链接:http://soscw.com/index.php/essay/39834.html