Nginx for Windows or Linux – which is recommended for a Redis cluster and what is the recommended configuration?

ElHaix asked:

We are currently exploring Nginx as a reverse proxy server and have done some preliminary tests with the Windows version.

Since the stable product has been available for Linux, I would like to know if anyone has used the Windows version in production, and if so, any issues that may come up. I have read some items about having to properly configure caching, and would like to hear more about this from those who have experience with this – specifically, what are some optimal settings.

This will be acting as a reverse proxy for a number of Redis servers – performing a fail-over mechanism should one server fail (backup configuration). In this case, is the Http2RedisModule required?

My answer:

The documentation is very clear on the limitations of nginx for Windows:

Version of nginx for Windows uses the native Win32 API (not the Cygwin emulation layer). Only the select() connection processing method is currently used, so high performance and scalability should not be expected. Due to this and some other known issues version of nginx for Windows is considered to be a beta version. At this time, it provides almost the same functionality as a UNIX version of nginx except for XSLT filter, image filter, GeoIP module, and embedded Perl language.

Because of the use of select() I would not recommend using nginx on Windows in production due to the performance issues it will cause. For a development box it would be fine, though.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.