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 the load balancing method redefined warning. It’s only a [warn], so Nginx still starts and reloads (notice the config test above passes), but you’ll want to fix the order to keep your logs clean.