Apache实现Web Server负载均衡详解(不考虑Session版)

yipeiwu_com6年前PHP代码库

至少需三台服务器:
服务器A:控制服务器
服务器B和服务器C:实际执行服务器
负载均衡原理:将访问服务器A的请求分发至服务器B和服务器C
修改服务器A上apache的http.conf文件:

首先,加载相应的代理模块,去掉以下模块前面的#号:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so

其次,在文件末尾添加:
ProxyPass /example/ balancer://proxy/
<Proxy balancer://proxy>
BalancerMember http://serverB/example/
BalancerMember http://serverC/example/
</Proxy>

表示将访问服务器A的http://serverA/example/子目录下的所有文件分发至服务器B和C执行,相当于访问http://serverB/example/或http://serverC/example/子目录下的文件。

若写成:
ProxyPass / balancer://proxy/
<Proxy balancer://proxy>
BalancerMember http://serverB/
BalancerMember http://serverC/
</Proxy>
则代表所有访问A的请求都相应的转成访问B或C
最后,重启服务器A的apache

相关文章

PHP语言中global和$GLOBALS[]的分析 之二

还是借用上一篇的例子: PHP代码 复制代码 代码如下: <?php // 例子1 function test_global() { global $var1, $var2; $v...

php实现把数组按指定的个数分隔

复制代码 代码如下:/** *  * 把数组按指定的个数分隔 * @param array $array 要分割的数组 * @param int...

php mssql 数据库分页SQL语句

我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取...

PHP6 先修班 JSON实例代码

它是基於JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集 JSON...

php通过执行CutyCapt命令实现网页截图的方法

本文实例讲述了php通过执行CutyCapt命令实现网页截图的方法。分享给大家供大家参考,具体如下: 用php使用exec执行命令 PS.默认情况下exec函数是禁用的,打开php.in...