北京SEO

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

2019/10/10/17:46:12  阅读:2140  来源:谷歌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

精选文章

Mysql数据库错误代码中文说明详解 php+mysql+session登录实例程序代码 MySQL选择数据库use与mysql_select_db使用详解 mysqldump数据备份与还原详细介绍 GitHub用户发起HTML5网页移植版《星际争霸》项目 mysql创建和删除索引的笔记 wdcp安装apache安装mod_proxy代理模块 Linux操作系统RPM与TAR的基本安装和卸载 mysql InnoDB数据无法启动解决办法 批量删除阿里云OSS Object的脚本

SEO最新算法