Nginx负载均衡介绍 Nginx提供负载均衡的模块upstream,这个模块是默认的,不需要重新编译模块。通常情况下,负载均衡一般用于后端两台机器同时提供服务供用户访问,但是用户经常访问的其中一台服务器比较多,另一台基本处于空闲状态,造成资源浪费,而另一台则负载过大造成网站卡慢;这时候就需要将两台服务器加入负载均衡,根据算法来进行资源分配,达到合理利用资源,减少单机的负载过高。 负载均衡算法 weight:指轮询几率,weight和访问比率成正比,权重越大轮询几率就越大,用于后端服务器不均的情况。 ip_hash:每个请求按访问ip的hash结果分配,这样每个用户访问一个后端服务器,可以解决session的问题,这个比较常用。 fair:按照后端服务器的响应时间来分配请求,响应时间短的优先分配。 url_hash:按url的hash结果来分配请求,是每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 实验环境: web1: 192.168.1.20 (后端Tomcat服务器) web2: 192.168.1.30 (后端Nginx服务器) upstream: 192.168.1.10 (负载均衡服务器 ) 1:编辑负载均衡conf文件 [root@upstream vhosts]# vim upstream.conf 说明:upstream{}中定义的是ip_hash算法,server:定义的是后端负载的服务器IP加port 加入以下内容 upstream web { ip_hash; server 192.168.1.20:80; server 192.168.1.30:80; } server { listen 80; server_name www.test.com; location / { proxy_pass http://web; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 2:重新加载Nginx测试即可 [root@upstream vhosts]# Nginx -s reload
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。