nginx
2015-08-26 11:27
429 查看
Nginx的负载均衡配置
Nginx还支持多组的负载均衡,可以配置多个upstream 来服务于不同的Server.
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
至少需要三台虚拟机才能演示成功的。
首先我们这三台虚拟机都有web服务器web服务一定要启动。
这次演示的结构是
Master 192.168.221.2
Web1 192.168.221.3
Web2 192.168.221.4
在配置之前需要配置一个虚拟主机,在第二个主题已经有详细配置。
在master的配置文件中我们需要修改的是如下:
在http的模块中 server容器上添加
upstream mysvr {
server 192.168.221.3 weight=3; # weight的意思是比重越大,访问的比例几率越大。
server 192.168.221.4 weight=3;
}
upstream 每个设备的状态:down 表示单前的server暂时不参与负载
weight 默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
再一个需要在虚拟主机的配置文件中添加: proxy_pass http:// mysvr;(此处应该和上处红字一样)
在配置负载均衡时。正常情况下后端服务器显示访问的ip应该是nginx(master)的。如果想显示客户端的ip我们需要在master端的配置文件里添加:
proxy_set_header X-Real-IP $remote_addr;
即使这样还是不行。在一个我们需要在后端服务器的主配置文件找Log_format 那行可以尝试着修改第一个%h 修改为{X—Real—IP}I (日志的类型有的是commbin 和commen)
修改完成后。重新启动服务。目的就达到了
Nginx还支持多组的负载均衡,可以配置多个upstream 来服务于不同的Server.
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
至少需要三台虚拟机才能演示成功的。
首先我们这三台虚拟机都有web服务器web服务一定要启动。
这次演示的结构是
Master 192.168.221.2
Web1 192.168.221.3
Web2 192.168.221.4
在配置之前需要配置一个虚拟主机,在第二个主题已经有详细配置。
在master的配置文件中我们需要修改的是如下:
在http的模块中 server容器上添加
upstream mysvr {
server 192.168.221.3 weight=3; # weight的意思是比重越大,访问的比例几率越大。
server 192.168.221.4 weight=3;
}
upstream 每个设备的状态:down 表示单前的server暂时不参与负载
weight 默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
再一个需要在虚拟主机的配置文件中添加: proxy_pass http:// mysvr;(此处应该和上处红字一样)
在配置负载均衡时。正常情况下后端服务器显示访问的ip应该是nginx(master)的。如果想显示客户端的ip我们需要在master端的配置文件里添加:
proxy_set_header X-Real-IP $remote_addr;
即使这样还是不行。在一个我们需要在后端服务器的主配置文件找Log_format 那行可以尝试着修改第一个%h 修改为{X—Real—IP}I (日志的类型有的是commbin 和commen)
修改完成后。重新启动服务。目的就达到了
相关文章推荐
- Nginx负载均衡配置实例详解
- Nginx + tomcat + keepalived 负载均衡
- WINDOWS 2008Server 配置nginx 反向代理服务器
- 负载均衡7层nginx(提供软件包)
- Nginx反向代理、缓存、负载均衡
- 基于Nginx反向代理及负载均衡 推荐
- Nginx实战进阶篇一 Nginx反向代理及负载均衡实现过程部署 推荐
- 单一nginx负载均衡+LNMP分布式架构 推荐
- Nginx负载均衡,ssl原理,生成ssl密钥对,Nginx配置ssl
- nginx负载均衡、配置ssl
- 12.17 Nginx负载均衡;12.18 ssl原理;12.19 生产ssl密钥对;12.20 Nginx配置ssl
- Nginx负载均衡配置实例详解
- Nginx负载均衡(二)
- nginx负载均衡集群
- nginx的负载均衡集群
- Nginx负载均衡的实现和调度算法
- 用Nginx和Apache的反向代理解决Ajax的跨域问题
- Nginx入门之负载均衡
- nginx的安装和负载均衡配置
- CentOS7,Ngnix+Tomcat负载均衡实验(Nginx负载均衡、Tomcat负载均衡、Nginx反向代理、Web负载均衡)