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的方式也可以研究下

相关推荐