Apache 负载均衡 会话保持配置

90Runner 2015-03-21 05:49:32
求一个例子 在网上找到好多例子 配置完成后 当有请求时两台服务器均有响应是什么原因啊

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
ProxyPass / balancer://mycluster stickysession=ROUTEID
#nofailover=On
#ProxyPreserveHost On
<Proxy balancer://mycluster>
BalancerMember http://10.0.0.107:10018 route=1
BalancerMember http://10.0.0.107:10019 route=2
</Proxy>
ProxyPassReverse / balancer://mycluster

这是按照阿帕奇手册中的一个例子配置的 求帮助!
...全文
774 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangsheng_1992 2015-03-27
  • 打赏
  • 举报
回复
如果想实现会话保持功能或粘性session功能 session是保存在服务器上的吧 那么你只需要让每次访问的时候 同一个访问ip永远访问同一个服务器即可 举个例子 我的本地ip是127.0.0.1 线上有2台负载均衡机器 A 和 B 如果是传统的负载 那么 我第一次访问的如果是A 服务器 并在A服务器上登录 那么我的session信息是不是保存在A服务器上 当我跳转链接的时候会再次经过负载均衡 如果这次给我分到B上 那么B服务器上是没有我的session文件的 那么是不是就提示登录 我上面给你介绍了一种ip_hash的方式

upstream a.com { 
      ip_hash;#就是这
      server  192.168.1.2; 
      server  192.168.1.3; 
} 
加上ip_hash以后 访问时 通过hash函数计算 会将你的ip分配到一个负载服务器上 你的访问ip是固定的 那么不论你如何访问 nginx总能将你的请求分发到那台服务器上 比如你的ip是127.0.0.1 他计算了你的ip以后将你的请求分到A 服务器上了 A 服务器上记录了你的session 那么只要你IP不变 无论如何访问 都会将你分到A 服务器上 也就可以保持会话控制了
helloha2013 2015-03-23
  • 打赏
  • 举报
回复
建议用nginx 或者lvs ,非常成熟的高并发、高可用,负载均衡简单配置一下就可以使用; 如果你的服务器使用的是,apache,也没有关系比如 两台web服务器 apache 192.168.0.10 apache 192.168.0.11 在另一台服务器,比如 192.168.0.9上安装nginx 或者lvs即可; 网上这样的文章很多, 百度一下 nginx 负载均衡
shililu 2015-03-23
  • 打赏
  • 举报
回复
没有遇到这个问题过
helloha2013 2015-03-23
  • 打赏
  • 举报
回复
a.com 就是你网站的域名 打开nginx配置文件nginx.conf nginx负载均衡超简单的配置 1):http 节点中加入: upstream a.com{ ip_hash; #使用ip_hash方式,会话保持、粘连; server 192.168.0.10:80; server 192.168.0.11:80; } 2): server { listen 80; server_name localhost; location / { root html; index index.html index.htm; proxy_redirect off; proxy_pass http://a.com; #重要;proxy_pass指令用来指定代理的后端服务器地址和端口,地址可以是主机名或者IP地址,也可以是通过upstream指令设定的负载均衡组名称。 }
90Runner 2015-03-23
  • 打赏
  • 举报
回复
顶起 有没有遇到过这种问题的啊
90Runner 2015-03-23
  • 打赏
  • 举报
回复
还有这个a.com代表的是什么啊
90Runner 2015-03-23
  • 打赏
  • 举报
回复
引用 6 楼 zhangsheng_1992 的回复:
我都是用ngnix做负载的 相比apaceh nginx更轻量级 配置起来简单的几乎无语 安装我就不说了 就说下需要配置得地方 打开nginx.conf,文件位置在nginx安装目录的conf目录下。 在http段加入以下代码
upstream a.com { 
      server  192.168.1.2; 
      server  192.168.1.3; 
} 
为了方便叙述 下边说所的A 针对的就是1.2 B 就是1.3 这就完了 重启后测试即可 记得把做web的虚拟机IP填写对就可以 后端可以跟nginx 也可以接apache 这种配置得特点是 每个访问一次 你可以再A,B上分别 echo一段话比较一下 第一次访问的A 第二次就分到B上边去了 结果就是 要想办法解决session 好在还有另一种配置方式 简单的更是无语
upstream a.com { 
      ip_hash;
      server  192.168.1.2; 
      server  192.168.1.3; 
} 
然后你会发现你的所有访问都只能访问到一个服务器上去 这就是IP_HASH的奇妙 解决seseion问题 还有种更牛逼的 实际情况下 web服务器也有性能区别 我想让性能好的多承担点 怎么办呢? 呵呵可以设置权重
upstream a.com { 
      ip_hash;
      server  192.168.1.2 weight=10; 
      server  192.168.1.3 weight=20; 
} 
数值越高越表示权重越高 最高貌似是150吧 没记太住 可以和ip_hash一起用 嘿嘿 赶快尝试下吧 nginx做负载的有点是本身轻巧 性能比apache高太多 而且还可以配合动静分离(脚本和静态文件分离)配合反向代理 怎么一个爽字了得 需要相关资料的话扣我
恩 谢谢你的
引用 6 楼 zhangsheng_1992 的回复:
我都是用ngnix做负载的 相比apaceh nginx更轻量级 配置起来简单的几乎无语 安装我就不说了 就说下需要配置得地方 打开nginx.conf,文件位置在nginx安装目录的conf目录下。 在http段加入以下代码
upstream a.com { 
      server  192.168.1.2; 
      server  192.168.1.3; 
} 
为了方便叙述 下边说所的A 针对的就是1.2 B 就是1.3 这就完了 重启后测试即可 记得把做web的虚拟机IP填写对就可以 后端可以跟nginx 也可以接apache 这种配置得特点是 每个访问一次 你可以再A,B上分别 echo一段话比较一下 第一次访问的A 第二次就分到B上边去了 结果就是 要想办法解决session 好在还有另一种配置方式 简单的更是无语
upstream a.com { 
      ip_hash;
      server  192.168.1.2; 
      server  192.168.1.3; 
} 
然后你会发现你的所有访问都只能访问到一个服务器上去 这就是IP_HASH的奇妙 解决seseion问题 还有种更牛逼的 实际情况下 web服务器也有性能区别 我想让性能好的多承担点 怎么办呢? 呵呵可以设置权重
upstream a.com { 
      ip_hash;
      server  192.168.1.2 weight=10; 
      server  192.168.1.3 weight=20; 
} 
数值越高越表示权重越高 最高貌似是150吧 没记太住 可以和ip_hash一起用 嘿嘿 赶快尝试下吧 nginx做负载的有点是本身轻巧 性能比apache高太多 而且还可以配合动静分离(脚本和静态文件分离)配合反向代理 怎么一个爽字了得 需要相关资料的话扣我
恩 谢谢您的帮助,如果我想实现会话保持功能或粘性session功能该如何配置啊?
zhangsheng_1992 2015-03-23
  • 打赏
  • 举报
回复
我都是用ngnix做负载的 相比apaceh nginx更轻量级 配置起来简单的几乎无语 安装我就不说了 就说下需要配置得地方 打开nginx.conf,文件位置在nginx安装目录的conf目录下。 在http段加入以下代码
upstream a.com { 
      server  192.168.1.2; 
      server  192.168.1.3; 
} 
为了方便叙述 下边说所的A 针对的就是1.2 B 就是1.3 这就完了 重启后测试即可 记得把做web的虚拟机IP填写对就可以 后端可以跟nginx 也可以接apache 这种配置得特点是 每个访问一次 你可以再A,B上分别 echo一段话比较一下 第一次访问的A 第二次就分到B上边去了 结果就是 要想办法解决session 好在还有另一种配置方式 简单的更是无语
upstream a.com { 
      ip_hash;
      server  192.168.1.2; 
      server  192.168.1.3; 
} 
然后你会发现你的所有访问都只能访问到一个服务器上去 这就是IP_HASH的奇妙 解决seseion问题 还有种更牛逼的 实际情况下 web服务器也有性能区别 我想让性能好的多承担点 怎么办呢? 呵呵可以设置权重
upstream a.com { 
      ip_hash;
      server  192.168.1.2 weight=10; 
      server  192.168.1.3 weight=20; 
} 
数值越高越表示权重越高 最高貌似是150吧 没记太住 可以和ip_hash一起用 嘿嘿 赶快尝试下吧 nginx做负载的有点是本身轻巧 性能比apache高太多 而且还可以配合动静分离(脚本和静态文件分离)配合反向代理 怎么一个爽字了得 需要相关资料的话扣我
fanlvlgh 2015-03-23
  • 打赏
  • 举报
回复
建议使用liferyporty
90Runner 2015-03-23
  • 打赏
  • 举报
回复
引用 4 楼 gogocoming 的回复:
建议用nginx 或者lvs ,非常成熟的高并发、高可用,负载均衡简单配置一下就可以使用; 如果你的服务器使用的是,apache,也没有关系比如 两台web服务器 apache 192.168.0.10 apache 192.168.0.11 在另一台服务器,比如 192.168.0.9上安装nginx 或者lvs即可; 网上这样的文章很多, 百度一下 nginx 负载均衡
感谢您的回答 主要就是测试对负载均衡要求没那么高,可是在配置完成apache的配置文件之后,每次请求两个服务均有响应, 这个跟我布置在一台服务机器上有关系么?或者对后端的服务器有什么要求么?

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧