1、所需环境为
apache http://httpd.apache.org/
tomcate http://tomcat.apache.org/
nodejs http://nodejs.org/
环境的搭建就不再具体说明了
2、apache的代理通过自身的proxy_mode进行 在http.conf文件最后加上如下:
#采用其自带的进行处理
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#将/下的所有内容代理到8009的tomcat下
#转发的处理
#ProxyPass /x/! ajp://127.0.0.1:8009/
#ProxyPass /t1/ ajp://127.0.0.1:8009/
#为什么要加反向代理,浏览器不能认识问题,重定向时
#ProxyPassReverse /t1/ ajp://127.0.0.1:8009/
3、负载均衡
在http.conf文件最后加上如下:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyRequests Off
<Proxy balancer://clusterphpinfo>
#这个是tomcate服务器 loadfactor表示命中的概率,越大越好
BalancerMember http://127.0.0.1:8080 loadfactor=5
#这个是nodejs服务器
BalancerMember http://127.0.0.1:8899 loadfactor=1
</Proxy>
ProxyPass /test balancer://clusterphpinfo stickysession=STICK_PORT_TOKEN nofailover=On
ProxyPassReverse /test balancer://clusterphpinfo
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Allow from all
#Allow from 192.168.18.*
</Location>
运行结果