apache反向代理和负载均衡

正向代理:正如我们用的游戏加速代理,大多的个人PC把请求发给正向代理服务器,代理服务器通常配置高端的带宽,替我们请求相应的服务

负载均衡中的反向代理:通常意义上,是一个请求转发的代理。类似一个收发室的管理人员,外来的很多邮件,传到收发室,然后由管理员分配给不同的办公室。通过这样的操作,可以使每台服务器避免过多的负载导致宕机。而转发的这个过程,通常也有很多种不同的算法。

总结:正向代理一般是指PC连接到代理服务器,由代理服务器转发请求到网站。而反向代理指的是用户将请求发送给反向代理服务器,由反向代理服务器将请求路由转发到具体的服务器。

其中可能有人考虑到,如果一个请求时登陆请求,而第二个请求时操作,结果第二个请求转发到第二个服务器上面。那么如何操作。这个不用担心,apache反向代理有 session粘连这样一个概念,它会把所有关于cookie的文件保存在apache服务器上面,其他的操作均会读取这样一个文件。

Apache反向代理设置方法

打开 Apache 安装目录的 conf 文件夹(linux 在 /etc/httpd/conf 或者 /usr/local/apache/conf)
 
打开 httpd.conf
 

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

前面的注释去掉
 
在 httpd.conf 最后添上

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.linuxidc.com
ServerAlias www.linuxidc.com
ProxyRequests Off
<Proxy http://www.linuxidc.com>
        Options MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Proxy>
ProxyPass / http://61.191.191.4:9002/
ProxyPassReverse / http://61.191.191.4:9002/
</VirtualHost>

<VirtualHost *:80>
ServerName img.linuxidc.com
ServerAlias img.linuxidc.com
ProxyRequests Off
<Proxy http://img.linuxidc.com>
        Options MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Proxy>
ProxyPass / http://61.191.191.4:9003/
ProxyPassReverse / http://61.191.191.4:9003/
</VirtualHost>

Apache负载均衡的实现

1、查看是否有mod_proxy_http.so、mod_proxy_balancer.so、mod_proxy.so三个模块

# ll /usr/local/apache2/modules

2、加载模块

# cd /usr/local/src/httpd-2.2.23/modules/proxy/

# /usr/local/apache2/bin/apxs -c -i mod_proxy.c proxy_util.c

# /usr/local/apache2/bin/apxs -c -i mod_proxy_balancer.c

# /usr/local/apache2/bin/apxs -c -i mod_proxy_http.c

3、修改http.conf配置文件

# vim /usr/local/apache2/conf/httpd.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>

 BalancerMember http://10.0.2.203:80 loadfactor=1

 BalancerMember http://10.0.2.204:80 loadfactor=1

 </Proxy>

 ProxyPass / balancer://clusterphpinfo

4、重启httpd服务

# service httpd restart

5、通过apache将后端服务器做出主从,只需要在从服务器后面添加status=+H

# vim /usr/local/apache2/conf/httpd.conf

 BalancerMember http://10.0.2.204:80 loadfactor=1 status=+H

原文地址:https://www.cnblogs.com/tianziru/p/5081083.html