nginx负载均衡

一、应用场景

  • 前置网关(外网进入内网)
  • 负载均衡(Http协议负载均衡)
  • 反向代理

二、调度算法

  • 轮询:"server 192.168.0.100;";按时间顺序轮流分配,后端down时自动剔除;
  • 权重:"server 192.168.0.100 weight=1;";按时间顺序和权重比例轮流分配,后端down时自动剔除;
  • IP哈希:"ip_hash;server 192.168.0.100;";按客户端IP分配,保证后端Session一致;
  • 公平:"fair;server 192.168.0.100;";基于响应时间rt,能者多劳;
  • URL哈希:"hash_method crc32; hash $request_uri; server 192.168.0.100;";按URL分配,主要应用于后端为缓存;

三、实际用例

  • 反向代理服务器列表、调度算法配置

    upstream httpd {
    	ip_hash;
    	keepalive 1024;
    	server 192.168.1.100;
    	server 192.168.1.101 down;
    	server 192.168.1.102 max_fails=3;
    	server 192.168.1.103 fail_timeout=20s;
    	server 192.168.1.104 max_fails=3 fail_timeout=20s;
    }
    

    ip_hash:请求调度算法,默认weight权重轮询,这里是ip_hash基于请求hash值调度

    keepalive:保持连接时间

    server:服务器列表

    down:主机暂停服务

    max_fails:最大失败次数,超出则暂停服务

    fail_timeout:最大失败超时时间,超出则暂停服务

  • 代理配置服务器

    server {
    	listen 80;
    	
    	location / {
    		proxy_set_header Host $http_host;
    		proxy_pass http://httpd;
    	}
    }
    

四、参数列表

参数 用例 描述
allow allow 192.168.0.100; 允许访问
deny deny all; 禁止所有访问
access_log access_log /nginx/access.log; 访问日志
error_log error_log /nginx/error_log; 错误日志
server 虚拟主机
server_name 域名
root 虚拟主机目录
index 首页
event event {
worker_connections 1024;
multi_accept on;
use epoll
}
最大连接数、接受更多连接、使用epoll监控连接
posted @ 2022-05-25 11:31  SArtOnline  阅读(22)  评论(0编辑  收藏  举报