mod_proxy, tomcat 负载均衡
1. 首先在两台机器安装好tomcat7, 不需要任何配置,分别启动他们在8080端口
ip分别为10.214.49.65和10.214.49.83
在webapp下面分别部署同样的项目,比如webapp/ademo/index.html
2. 在第三台机器安装好apache httpd server,可以通过源码或者rehdat的yum install安装
安装好后将下面这段配置添加到httpd.conf的最后
<Proxy balancer://mycluster> # Define back-end servers: # Server 1 BalancerMember http://10.214.49.65:8080/ # Server 2 BalancerMember http://10.214.49.83:8080/ </Proxy> ProxyPass /ademo balancer://mycluster/ademo ProxyPassReverse /ademo balancer://mycluster/ademo
同时保证下面两个不要被注释,
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
假设webserver的hostname是eye123, http://eye123/ademo/index.html,
然后就可以请求转发到两台tomcat中的任意一台
问题:
我通过下面的方式也是可以做到apache转发到tomcat的,
#ProxyPass /ademo/ http://10.214.49.65:8080/ademo/
#ProxyPassReverse /ademo/ http://10.214.49.65:8080/ademo/
但是如果两台tomcat的话,
#ProxyPass /ademo/ http://10.214.49.65:8080/ademo/
#ProxyPassReverse /ademo/ http://10.214.49.65:8080/ademo/
#ProxyPass /ademo/ http://10.214.49.83:8080/ademo/
#ProxyPassReverse /ademo/ http://10.214.49.83:8080/ademo/
以上却不行,很奇怪的,没有深入研究为什么,
还有就是Virtual Host的方式也可以研究下