我的环境:
CentOS 6.8
nginx 1.10.1
nginx配置基础的负载均衡比较简单,只需要对配置文件nginx.conf做一些修改。
nginx.conf的位置一般在/usr/local/nginx/conf文件夹下。
打开nginx.conf文件,添加如下内容:
http{
...
#gzip on;
#以下为添加的内容,server后面的IP地址就是你服务器集群中的各个服务器的IP地址
upstream samplename{
server 192.168.1.10;
server 192.168.1.11;
server 192.168.1.12;
}
...
}
server{
...
location / {
root html;
index index.html index.htm;
#以下是添加的代码,其中samplename是上面upstream后面的samplename
proxy_pass http://samplename;
}
...
}
修改完nginx.conf后,需要重新加载配置文件,进入nginx的安装目录,并执行重启命令:
cd /usr/local/nginx/sbin
./nginx -s reload
重新加载后,多次访问nginx服务器,nginx会把访问请求按顺序分发给后面的服务器。例如:
第一次访问nginx服务器时,你的请求会被转发到192.168.1.10,由这台服务器去处理;
第二次访问nginx服务器时,你的请求会被转发到192.168.1.11;
第三次访问nginx服务器,你的请求会被转发到192.168.1.12.
这种配置方法,请求以顺序的方式发送给后面的服务器。nginx也支持其他分发方式,例如:最少连接、IP地址哈希、基于权重的负载均衡。由于我们后台的服务器配置基本类似,qps也不算太高,做顺序分发基本可以满足需求。