Nginx 负载均衡upstream配置/说明

编程教程 > nginx (327) 2024-11-26 14:39:04

Nginx的upstream支持5种 分配方式,其中 轮询、权重、IP散列这三种为Nginx原生支持的分配方式,fair 和 url_hash 为第三方支持的分配方式。

 

1,轮询

轮询是upstream的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端服务器,如果某个后端服务器 down 掉后,能自动剔除。


upstream your_upstream_name{
    server 172.16.1.10:8080;
    server 172.16.1.11:8080;
    server 172.16.1.12:8080;
    server 172.16.1.13:8080;

}

 

2,weight(权重)

轮询的加强版,既可以指定轮询比率,weight 和访问几率成正比,主要应用于后端服务器异质的场景下。

upstream your_upstream_name {
    server 172.16.1.11:8080 weight=1;
    server 172.16.1.22:8080 weight=2;
    server 172.16.1.33:8080 weight=3;
}

 

3,ip_hash

每个请求按照访问 Ip(即Nginx的前置服务器或客户端IP)的 hash结果分配,这样每个访客会固定访问一个后端服务器,可以解决 session 一致问题。

upstream your_upstream_name {
    ip_hash;
    server 172.16.1.11:8080;
    server 172.16.1.22:8080;
    server 172.16.1.33:8080;
}

 

4,fair

fair顾名思义,公平地按照后端服务器的响应时间(rt)来分配请求,响应时间(rt)小的后端服务器优先分配请求。

upstream xqlee{
    fair;
    server 172.16.1.11:8080;
    server 172.16.1.22:8080;
    server 172.16.1.33:8080;
}

 

5,url_hash

与 ip_hash类似,但是按照访问 url 的 hash 结果来分配请求,使得每个 url 定向到同一个后端服务器,主要应用于后端服务器为缓存的场景下。

upstream xqlee{
 
    server 172.16.1.11:8080;
    server 172.16.1.22:8080;
    server 172.16.1.33:8080;
    hash $request_uri;
    hash_method crc32;
}

其中,hash_method为使用的hash算法,需要注意,此时server语句中不能添加 weight等参数。


 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Nginx的upstream支持5种 分配方式,其中 轮询、权重、IP散列这三种为Nginx原生支持的分配方式,fair 和 url_hash 为第三方支持的分
Linux(centos) nginx安装和nginx入门配置方法1.切换至root用户$su - 2.执行在线安装命令#yum install nginx -y 如果上面提示以下内容[root...
场景描述某些情况下有些资源需要一个基本的认证才能让用户访问
Nginx 安装Nginx 安装参考:Linux yum nginx安装和nginx入门配置方法-XQLEE'BlogAlpine Linux nginx安装配
alpineLinux安装nginx更新软件apkupdate安装nginxapkaddnginx查看nginx版本nginx-vnginx启停启动停止servicenginxstop重启ser...
打开任务管理器发现一大堆nginx进程
最近网站被恶意访问了,了解了一些基础防护手段,nginx屏蔽ua访问 编写文件agent_deany.conf #使用方法 #创建目录 /etc/nginx/conf.d/deny...
nginx常规使用时作为http协议的反向代理,这里要讲的是非http的Mysql端口代理,理论支持其他协议nginx.conf配置如下:user nginx; worker_process...
需求将静态资源如css/js/图片缓存到不用每次都到后端服务去拿取,减少性能消耗。 配置nginx缓存配置缓存文件存放信息在nginx配置文件,httpd内部配
最近博客升级总是nginx原生的502页面,感觉有些不友好,特此研究了下502页面的配置nginx 502配置502页面核心配置 #502 page error_...
解决centos系统使用yum安装nginx启动时报错[::]:80 failed (97: Address family not supported by protocol)一般默认的使用yu...
1.新增nginx屏蔽配置文件文件暂时为/etc/nginx/conf.d/deny_ua.config说明:文件名deny_ua.config,后缀为.config非.conf,原因是.con...
nginx开启gzip压缩配置配置参考:server{listen443ssl;server_namet.example.com;#charsetkoi8-r;#access_log/var/l...
Nginx 配置robots.txt禁止收录,在对应的server里面添加以下配置 location =/robots.txt { default_type t
PVE配置nginx代理访问。nginx配置:server { listen 10101 ssl; server_name pve.ok.top; #ssl on; #从腾...