LNMP-Nginx负载均衡

 

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

 

posted @ 2019-10-07 22:55  一颗小豆子  阅读(394)  评论(0编辑  收藏  举报