You may receive the following warning when reloading/configtesting an Nginx configuration that uses upstreams.
$ service nginx configtest nginx: [warn] load balancing method redefined in /etc/nginx/conf.d/upstream.conf:5 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
This can occur when you have a wrong order of upstream variables in your definition, like this:
$ cat upstream.conf
upstream upstream_name {
# Use max # keepalive connections
keepalive 120;
# Use the backend with least number of connections
least_conn;
# All upstream members defined below
server 192.168.1.5:80 weight=24;
server 192.168.1.6:80 weight=24;
}
You can mix keepalive and least_conn, but you should define least_conn before keepalive.
With the wrong order, you’ll get a load balancing method redefined error and Nginx won’t start.