nginx负载均衡
一、负载均衡配置语法
参数:upstream name{
server 192.168.206.48:81 weight=1; #权重
server 192.168.206.48:82 down; #当前的server暂时不参与负载均衡
server 192.168.206.48:83 backup; #预留的备份服务器
server 192.168.206.48:84 max_fails; #允许请求失败的次
server 192.168.206.48:85 fail_timeout; #经过max_fails失败后,服务暂停的时间
server 192.168.206.48:86 max_conns; #限制最大的接收连接数
}
默认:没有配置
位置:http
二、调度算法
加权轮询:按时间顺序逐一分配到不同的后端服务。
ip_hash:每个请求按访问IP的hash结果分配,这样来自同一个ip的固定访问一个后端服务器。
upstream name {
ip_hash;
server 116.62.103.228:8001;
server 116.62.103.228:8002;
server 116.62.103.228:8003;
}
url_hash:按照访问的url的hash结果来分配请求,是每个url定向到同一个后端服务器。
upstream name {
hash $request_uri;
server 116.62.103.228:8001;
server 116.62.103.228:8002;
server 116.62.103.228:8003;
}
least_conn: 最少连接数,那个机器连接数少就分发
hash关键数值:hash自定义的key
三、实例步骤
第一步:
server {
listen 80;
server_name localhost;
//访问路由交给proxy_pass
location / {
proxy_pass http://cuitccol.com;
proxy_redirect default;
}
}
第二步:
//http集群服务器
upstream cuitccol.com {
server 192.168.206.48:81 weight=1;
server 192.168.206.48:82 weight=1;
}
第三步:
//配置服务器
server {
listen 81;
server_name 192.168.206.48;
location / {
root html;
index index.php index.html index.htm;
}
}
server {
listen 82;
server_name 192.168.206.48;
location / {
root html;
index index.php index.html index.htm;
}
}