Nginx 负载均衡配置
Posted web前端开发技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 负载均衡配置相关的知识,希望对你有一定的参考价值。
nginx 负载均衡配置
负载均衡分类
- 一种是通过硬件来进行解决,常见的硬件有 NetScaler、F5、Radware 和 Array 等商用的负载均衡器,但是它们是比较昂贵的
- 一种是通过软件来进行解决的,常见的软件有 LVS、Nginx、apache 等,它们是基于 Linux系统并且开源的负载均衡策略.
nginx实现方式
- 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。 - weight权重 ——you can you up
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 - ip_hash ip 哈希算法
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
配置示例(conf文件)
- www.aaa.com
upstream bakeaaa {
ip_hash;
server 127.0.0.1:3001 ;
}
server {
listen 80;
server_name www.aaa.com;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_pass http://bakeaaa;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
- www.bbb.com
upstream bakebbb {
ip_hash;
server 127.0.0.1:3002 ;
}
server {
listen 80;
server_name www.bbb.com;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_pass http://bakebbb;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
- www.ccc.com
upstream bakeccc {
ip_hash;
server 192.168.1.129:3001;
}
server {
listen 80;
server_name www.ccc.com;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_pass http://bakeccc;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
以上是关于Nginx 负载均衡配置的主要内容,如果未能解决你的问题,请参考以下文章