前言:
目前姐妹们对“nginx禁止git”都比较讲究,看官们都需要了解一些“nginx禁止git”的相关内容。那么小编也在网摘上汇集了一些关于“nginx禁止git””的相关资讯,希望各位老铁们能喜欢,咱们快快来了解一下吧!概述Nginx 通过反向代理可以实现后端上游服务实例间的负载均衡, 将请求按照相应的负载均衡策略转发到不同的服务器上, 达到负载的效果, 避免了后端服务实例的单点故障; 目前Nginx 内置策略: rr, wrr, hash, ip_hash, least_connNginx 第三方模块支持的策略: fair, consistent_hash部署环境nginx-1.20.1CentOS Linux release 7.6.1810反向代理
1、Nginx 反向代理配置示例
upstream app1 { server 192.168.31.13:8081 weight=5 max_fails=3 fail_timeout=15s; server 192.168.31.17:8081 weight=5 max_fails=3 fail_timeout=15s; server 192.168.31.12:80 max_conns=1000;}upstream app2 { server 192.168.31.13:8082 weight=5 max_fails=3 fail_timeout=15s; server 192.168.31.17:8082 weight=5 max_fails=3 fail_timeout=15s; check interval=3000 rise=2 fall=5 timeout=1000 type=http;}server { listen 80; access_log /var/log/nginx/access.80.log main; location /app1/ { proxy_pass ; proxy_set_header Host $host; } location /app2/ { proxy_pass ; proxy_set_header Host $host; }}
2、配置项解析
weight=5; # 设置服务器的权重,默认为 1fail_timeout=15s # 请求失败超时时间,在经历了max_fails次失败后,该服务器暂停服务的时间max_fails=3 fail_timeout=15s; # 请求失败的次数超过 3 次后, nginx 将在接下来的 15s 内不会向该服务器派发请求backup; # 指定该服务器组的备份机,其它服务器全挂了,才会派发请求给该服务器down; # 标识该服务器不可用max_conns=1000; # 限制到代理服务器的最大同时活动连接数。默认为 0,表示不限制; 如果服务器组不驻留在共享内存中,则限制适用于每个工作进程keepalive 32; # 每个工作进程缓存到上游服务器空闲保持连接的最大数量proxy_next_upstream error timeout http_502; # 指定在哪种情况下将请求传递到下一个服务器负载均衡策略rr
轮询(round robin)是 upstream 的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端服务器, 如果某个后端服务器 down 掉后,能自动剔除。
upstream backend { server 192.168.31.101; server 192.168.31.102; server 192.168.31.103;}wrr
权重轮询 weighted round-robin; 轮询的加强版,即可以指定轮询比率,weight 和访问几率成正比
upstream backend { server 192.168.31.101 weight=3; server 192.168.31.102 weight=2; server 192.168.31.103 weight=5;}url_hash
按请求 url 的 hash 值来分配请求,使每个 url 定向到同一个后端服务器, 为了使得缓存命中率提高,很适合使用 url_hash 策略 1.7.2 版本以后,url_hash 模块已经集成到了 nginx 源码当中,不需要单独安装。之前的版本仍需要单独安装,下载地址:;
upstream tomcats { hash $request_uri; # hash $request_uri consistent; # url 一致性 hash server 192.168.31.100; server 192.168.31.101; server 192.168.31.102;}ip_hash
每个请求按访问 IP 的哈希结果分配,使来自同一个 IP 的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的 session 共享问题
upstream backend { ip_hash; server 192.168.31.101; server 192.168.31.102; server 192.168.31.103;}least_conn
将请求分配给活动连接数最少的服务器
upstream backend { least_conn; server 192.168.31.101; server 192.168.31.102; server 192.168.31.103;}fair
根据服务器的响应时间来分配请求,响应时间短的优先分配,即负载压力小的优先会分配
# 部署git clone --add-module=/root/src/nginx-upstream-fair-mastermake -j2 && make install# 版本问题:如果使用的 Nginx 版本 >= 1.14.0 时,使用上述模块源码编译时会报错误,需要对源码做一些修改,参考: nginx 配置upstream tomcats { fair; server 192.168.31.100; server 192.168.31.101; server 192.168.31.102;}consistent_hash一致性哈希算法, 需要 ngx_http_upstream_consistent_hash 模块支持consistent_hash $remote_addr:可以根据客户端 ip 映射consistent_hash $request_uri: 根据客户端请求的 uri 映射consistent_hash $args: 根据客户端携带的参数进行映射
# 部署wget master.zip./configure --add-module=/root/src/ngx_http_consistent_hash-mastermake && make install# nginx configupstream tomcats { consistent_hash $request_uri; server 192.168.31.100; server 192.168.31.101; server 192.168.31.102;}
标签: #nginx禁止git