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监控连接 |
本文来自博客园,作者:SArtOnline,转载请注明原文链接:https://www.cnblogs.com/sartonline/p/16308729.html