首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不重启的情况下添加/删除Apache2均衡器成员

如何在不重启的情况下添加/删除Apache2均衡器成员
EN

Stack Overflow用户
提问于 2013-01-12 00:38:23
回答 1查看 2K关注 0票数 0

我想知道,是否有一种方法可以在不完全重启apache的情况下添加/删除Apache2 mod_proxy_balancer balancer-members,这样现有的连接就不会中断?

如果我只更新相等的vhost-file中的成员,并通过

代码语言:javascript
复制
service apache2 reload

apache不会应用所做的更改。提供的balancer-manager指令和web后端允许在不重新启动的情况下修改特定消隐成员的参数(例如,加载因子),但不能以这种方式添加新成员或删除现有成员。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-16 21:03:59

最后,由于一些关于apachemod_proxy_balancer的罕见问题(有关更多详细信息,请参阅https://issues.apache.org/bugzilla/show_bug.cgi?id=44736 ),我做了一些变通方法:

首先,用占位符填充平衡器工作进程配置,将负载因子设置为"1",例如:

代码语言:javascript
复制
<Proxy balancer://mycluster>
   BalancerMember http://www.cmgm.info/virtual/1/  loadfactor=1
   BalancerMember http://www.cmgm.info/virtual/2/  loadfactor=1
   BalancerMember http://www.cmgm.info/virtual/3/  loadfactor=1
   BalancerMember http://www.cmgm.info/virtual/4/  loadfactor=1
   BalancerMember http://www.cmgm.info/virtual/5/  loadfactor=1
   ...
   BalancerMember http://www.cmgm.info/virtual/n/  loadfactor=1
</Proxy>

然后使用mod_rewrite将占位符动态地分配给实际的平衡器成员,例如:

代码语言:javascript
复制
RewriteEngine on
RewriteRule ^1/(.*)$ http://www.worker1.de/$1 [P]
RewriteRule ^2/(.*)$ http://www.worker2.de/$1 [P]
...
RewriteRule ^n/(.*)$ http://www.workern.de/$1 [P]

通过访问balancer-manager and界面,可以添加、删除、启用、禁用和设置每个(虚拟)成员的负载因子。

总而言之,可以使用此解决方法以编程方式动态修改mod_proxy_balancer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14282625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档