Nginx variables_hash error

Hi Guys, I have started getting this error on some of my servers today.
I have an automated system which generates configuration files based
upon how many customers we have. Our nginx servers currently run MANY
sites (server directives) and all of a sudden we started getting the
follow error when trying to do an nginx reload…

[emerg]: could not build the variables_hash, you should increase either
variables_hash_max_size: 512 or variables_hash_bucket_size: 64
configuration file /etc/nginx/conf/nginx.conf test failed

Any ideas on what is causing this and how I could resolve it. I have
looked for a directive variables_hash_max_size or
variables_hash_bucket_size on the wiki and I cannot find any
documentation covering a directive with those names. Is this a
compilation option I need to change to allow for more configurations?

The odd thing is, we have multiple servers and only some of the servers
are having this issue. We are using nginx 0.8.53 on these servers.

Posted at Nginx Forum:

Hello!

On Tue, Apr 19, 2011 at 05:40:26AM -0400, Nam wrote:

Any ideas on what is causing this and how I could resolve it.
http://wiki.nginx.org/Optimizations#Hash_Tables

Setting bigger variables_hash_max_size and/or
variables_hash_bucket_size will indeed help.

I have
looked for a directive variables_hash_max_size or
variables_hash_bucket_size on the wiki and I cannot find any
documentation covering a directive with those names. Is this a
compilation option I need to change to allow for more configurations?

No. This is just configuration directives of http core module,
allowed at http{} level. Undocumented due to ENOTIME, but they
are mostly covered by generic hash documentation.

The odd thing is, we have multiple servers and only some of the servers
are having this issue. We are using nginx 0.8.53 on these servers.

This only occurs when using many (or long) variables in
config.

Maxim D.

On Tue, Apr 19, 2011 at 05:40:26AM -0400, Nam wrote:

Any ideas on what is causing this and how I could resolve it. I have
looked for a directive variables_hash_max_size or
variables_hash_bucket_size on the wiki and I cannot find any
documentation covering a directive with those names. Is this a
compilation option I need to change to allow for more configurations?

The odd thing is, we have multiple servers and only some of the servers
are having this issue. We are using nginx 0.8.53 on these servers.

As Maxim suggests already:

http {
variables_hash_max_size 1024;


Igor S.

Thank you very much Igor and Maxim, I appreciate the help and the
settings have indeed fixed the problem. Thanks again for both of you,
and thanks for nginx.

Posted at Nginx Forum: