您的位置:首页 > 运维架构 > Nginx

Nginx负载均衡

2016-02-24 20:02 666 查看

nginx常用命令

cd /usr/local/nginx/sbin

./nginx -t 检测配置文件

./nginx -s reload 重新加载配置文件

停止nginx

./nginx -s stop

查看nginx版本

./nginx -v

nginx 负载均衡5种配置方式

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

3、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

5、url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

配置ngnix负载均衡

轮询以及权重

以三台机器为例,首先配置好和启动server2和server3

然后,将server2和server3作为两台负载服务器

在server1中设置如下

worker_processes  1;
events {
worker_connections  1024;
}

http {
keepalive_timeout  65;
upstream server1 {
server server2:80 weight=5;
server server3:80 weight=10;
}
server {
listen	server1:80;
location / {
proxy_pass http://server1; }
}
}


然后访问server1,依次刷新,由于轮询算法和权重的有效性,

server3出现两次,server2出现一次

配置ip_hash负载均衡

ip_hash,每个请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题。(一般电子商务网站用的比较多)

upstream webservers {
ip_hash;
server 192.168.18.201 weight=1 max_fails=2 fail_timeout=2;
server 192.168.18.202 weight=1 max_fails=2 fail_timeout=2;
#server 127.0.0.1:8080 backup;
}


注,当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能有backup。

参考资料:

http://debugo.com/nginx-web-upstream/ 写的很好,简单易懂

/article/4340860.html 有缓存和读写分离方面的内容

http://zyan.cc/post/306/ 张宴的配置,值得多研究

/article/1732049.html

/article/1359493.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: