apache集群配置负载均衡

1.确认自己所需要的so文件。都在对应的目录里。

2.修改httpd.conf文件

LoadModule proxy_module modules/mod_proxy.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

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so

确保上述的行的注释已经被去除掉。

3.确认上述的.so文件都位于apache的module目录下

4.由于本机器所使用的数据库是mariaDB10.0.2 galera cluster 所以还需将mariaDB的源码中的libmysqlclient.so.18复制到apache的lib目录中

5.继续修改httpd.conf

6.

ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.103:80/cluster.php loadfactor=1
BalancerMember http://192.168.1.107:80/cluster.php loadfactor=1
</Proxy>
ProxyPass /cluster.php balancer://mycluster stickysession=jsseionid nofailover=On
#ProxyPassReverse / balancer://mycluster
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Allow from all
</Location>

这里的<Proxy balancer://mycluster>的mycluster 随便写。和其他的本词保持一致即可,只是一个名字而已。

BalancerMember 为符合负载均衡条件的请求的分发位置。loadfactor为优先级,最高为100,最小为1

ProxyPass 后面的 /cluster.php 意义为符合请求含有/cluster.php的请求 进行负载均衡

SetHandler balancer-manger 这个 仅为测试使用,此为负载均衡管理页面。生产勿用。管理页面地址为http://ip/balancer-manager

7.只有请求处理请求分发的apache才需要进行这些配置。其他的被分发的apache 不需要进行这些配置。

8.处理分发的apache把请求分发给自己 没有任何意义。会再次触发分发的。

现在 ,本博客已经写了 apache 的负载均衡 mariaDB的集群,还需处理的是:

1:php使用多数据源

2:php应用上传文件的话,怎么对文件进行负载均衡。

3:xunsearch 如何进行集群

4:php代码进行更新的话 集群里的多个机器该如何解决。