最近配置nginx,在轮询策略中有一个session_sticky的session绑定配置,这个和ip_hash有什么区别了,还是说是同一种东西,只是ip绑定的实现方式不同,而结果一样了。
不知道你这个问题是否已经解决, 如果还没有解决的话:依次按照顺序访问后端的每一个服务器,按照这个计算,相当于平均分配请求给所有集群节点--物理均衡。
//定义后台服务器的信息,list列表
upstream ouservers {
server 127.0.0.1:8093;
server 127.0.0.1:8093;
server 127.0.0.1:8293;
}
upstream的配置,会在nginx启动时加载成为一个内存的list对象
元素有3个分别是8093 8193 8293,负载均衡的计算都是通过这个list完成的
//案例 www.pp.com 访问nginx
//让nginx处理这个请求
server {
listen 80;
server_name www.pp.com;
//正则表达式,匹配当前所有静态资源路径
location / {
root static;
//默认使用首页,如果使用/ 在访问时,可以添加默认首页
index index.html;
}
location /user {
//实现转发功能,请求转发给后端8093 root是静态数据,proxy_pass动态数据
proxy_pass http://ouservers;
}
location /order {
//实现转发功能,请求转发给后端8093 root是静态数据,proxy_pass动态数据
proxy_pass http://ouservers;
}
location /hello {
proxy_pass http://ouservers;
}
}
保存nginx.conf文件,重新加载/重新启动,即在nginx家目录总执行nginx -s reload
访问:http://www.pp.com/hello?name=王翠花
请求地址:http://www.pp.com/hello
|进入nginx
|找到server
|匹配location /hello
|proxy_pass ouservers
|找到upstream中叫做ouservers的list列表
|从中计算轮询算法,拿到一个具体的服务器 127.0.0.1:8093
|将proxy_pass ouservers替换掉
响应地址:http://localhost:8093(8193/8293)/hello