nginx
Nginx使用upstream实现负载均衡
修改配置后重新加载:nginx -s reload
死磕nginx
Nginx——Nginx负载均衡
1. 负载均衡策略
- 默认轮询
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。虽然这种方式简便、成本低廉。但缺点是:可靠性低和负载分配不均衡。适用于图片服务器集群和纯静态页面服务器集群。
- 在http节点下,添加upstream节点。
upstream linuxidc {
server 10.0.6.108:7080;
server 10.0.0.85:8980;
}
- 将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即“
http://linuxidc”.
location / {
root html;
index index.html index.htm;
proxy_pass http://linuxidc;
}
- 权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。如下所示,10.0.0.88的访问比率要比10.0.0.77的访问比率高一倍。
upstream linuxidc{
server 10.0.0.77 weight=5;
server 10.0.0.88 weight=10;
}
- 最少连接数
least_conn
- iphash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
ip_hash
2. 资源静态化
3. 代理转发
4.nginx 限流配置
5. 黑白名单
怎么设置nginx白名单和黑名单
nginx 中配置白名单、黑名单的两个指令是 allow 和 deny,可以配置在http块、server块、location块中:
语法:
# 允许访问
allow address | CIDR | all;
# 禁止访问
deny address | CIDR | all;
address 具体的ip地址,不支持多ip设置,要配置多个ip的话,多写几行指令,每行配一个;
CIDR ip加掩码的形式的地址,如 192.168.0.1/24,这个配置表示一个区域的ip地址,192.168.0.1,192.168.0.2,192.168.0.3,…,192.168.0.255;
all 表示所有的ip地址