北京SEO

apache实现反向代理、负载均衡及会话保持配置

2019/10/10/17:46:12  阅读:1876  来源:谷歌SEO算法  标签: SEO优化

反向代理可以实现负载均衡这个是apache环境一个非常重要的功能了,今天我们一起来看看利用apache反向代理、负载均衡及会话保持的例子,希望下文可以帮助到各位.

apache的反向代理及负载均衡效率以及配置过程都比nginx麻烦,在这研究apache的负载均衡只是为了对比其它软件的优缺点.

测试过程如下,查看是否安装proxy模块:

  1. [root@localhost~]#httpd-M|grepproxy
  2. httpd:Couldnotreliablydeterminetheserver’sfullyqualifieddomainname,usinglocalhost.localdomainforServerName
  3. SyntaxOK
  4. proxy_module(shared)
  5. proxy_balancer_module(shared)
  6. proxy_ftp_module(shared)
  7. proxy_http_module(shared)
  8. proxy_ajp_module(shared)
  9. proxy_connect_module(shared)

查看是否已经加载proxy模块:

  1. [root@localhost~]#cat/etc/httpd/conf/httpd.conf|grepproxy|grep-v“^#”
  2. LoadModuleproxy_modulemodules/mod_proxy.so
  3. LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so
  4. LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so
  5. LoadModuleproxy_http_modulemodules/mod_proxy_http.so
  6. LoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.so
  7. LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so

编辑httpd.conf配置文件,添加:

  1. #关闭正向代理
  2. ProxyRequestsOff
  3. #添加响应头
  4. HeaderaddSet-Cookie"ROUTEID=.%{BALANCER_WORKER_ROUTE}e;path=/"env=BALANCER_ROUTE_CHANGED
  5. #负载均衡
  6. <Proxybalancer://cluster1>
  7. BalancerMemberhttp://192.168.0.153:80loadfactor=3route=www1
  8. BalancerMemberhttp://192.168.0.154:80loadfactor=1route=www2
  9. ProxySetlbmethod=byrequestsstickysession=ROUTEID
  10. </Proxy>
  11. #对监控页面不传到后端服务器
  12. ProxyPass/balancer-manager!
  13. ProxyPass/balancer://cluster1/nofailover=On
  14. ProxyPassReverse/balancer://cluster1/
  15. #设置监控页
  16. <Location/balancer-manager>
  17. SetHandlerbalancer-manager
  18. OrderDeny,Allow//phpfensi.com
  19. Allowfromall
  20. </Location>

loadfactor 参数:

值越高,响应的服务越多,取值在1到100之间.

lbmethod 参数:

lbmethod=byrequests 按请求次数均衡(默认)

lbmethod=bytraffic 按流量均衡

lbmethod=bybusyness 按繁忙程度均衡(总是分配给活跃请求数最少的服务器)

会话保持功能:

route= 设置服务器id

stickysession=ROUTEID 使用服务器ID进行会话保持

apache英文手册,中文版中没有会话保持举例:

http://www.rootop.org/ApacheManual/Apache2.2_en_US/mod/mod_proxy_balancer.html 重启apache,测试.

打开页面时,提示服务器500错误,查看日志:

  1. [warn]proxy:NoprotocolhandlerwasvalidfortheURL/public/js/jquery.js.IfyouareusingaDSOversionofmod_proxy,makesuretheproxysubmodulesareincludedintheconfigurationusingLoadModule.

原因是ProxyPass / balancer://cluster1/ cluster1后面有个斜杠,而不是”balancer://cluster1″,跟网上大部分说的模块加载没关系.

广告内容

apache实现反向代理、负载均衡及会话保持配置 apache实现反向代理、负载均衡及会话保持配置 apache实现反向代理、负载均衡及会话保持配置

相关阅读

热门评论

卢松松博客 卢松松博客

关注创业者、自媒体人和站长的网站

总篇数167

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法