1.1 nginx安装
本文档nginx采用官方源的预编译版本进行安装,安装前注意配置DNS服务器,centos系统默认没有配置DNS。
yum install epel-release
yum install nginx
1.2 修改配置文件
1.2.1 负载均衡配置
1) 负载均衡基本配置
编辑nginx的网站配置文件/etc/nginx/conf.d/default.conf,删除原有内容,将粘贴以下内容粘贴到配置文件:
upstream backend {
server 10.254.201.206:8080;
server 10.254.201.207:8080;
server 10.254.201.208:8080;
}
server {
listen 80 default_server;
server_name _;
location / {
proxy_pass http://backend;
}
}
重启nginx服务器:
service nginx restart
2) 负载均衡高级配置
在完成(1)中描述的配置后,负载均衡应当已经可以正常启用。除此之外,nginx还提供了一些负载均衡的高级属性。
- Weight
Weight提供分配资源的权重的配置,通过指定Weight,可以控制负载均衡过程中对后端机器的访问比例。示例如下:
upstream backend {
server 10.254.201.206:8080 weight=1;
server 10.254.201.207:8080 weight=2;
server 10.254.201.208:8080 weight=4;
}
Nginx默认的Weight值为1,如果一台后端服务器的Weight值配置为2,例如上面的10.254.201.207,那么Weight值配置为2的机器(10.254.201.207)将承担两倍于Weight值为1的机器(10.254.201.206)的访问量。相同的,Weight值为4的机器将承担的访问量为Weight值为1的机器的访问量的四倍。
- Hash
IP Hash属性使nginx进行负载均衡时,根据客户端的ip进行响应,客户端每次请求时导向到同一台后端服务器。配置了IP Hash后,在某台机器宕机时必须在配置文件中将这台服务器配置为down,原来应导向这台后端服务器的客户端会被重新导向到另一台服务器。示例如下:
upstream backend {
ip_hash;
server 10.254.201.206:8080;
server 10.254.201.207:8080;
server 10.254.201.208:8080 down;
}
- Max Fails
在默认配置的情况下,即使某些后端服务器已经停止响应,nginx仍会向这些服务器发送请求。Max Fails属性可以通过自动屏蔽这些服务器一段时间的方式来避免继续向停止响应的服务器发送请求。Max Fails表示在认为服务器停止响应前,发送请求的最大次数。Fall_timeout指定nginx认为服务器停止响应后,屏蔽停止服务器多长时间,默认值为10秒。示例如下:
upstream backend {
ip_hash;
server 10.254.201.206:8080 max_fails=3 fail_timeout=15s ;
server 10.254.201.207:8080;
server 10.254.201.208:8080;
}