Book Image

Nginx HTTP Server - Fourth Edition

By : Martin Bjerretoft Fjordvald, Clement Nedelcu
Book Image

Nginx HTTP Server - Fourth Edition

By: Martin Bjerretoft Fjordvald, Clement Nedelcu

Overview of this book

Nginx is a lightweight HTTP server designed for high-traffic websites, with network scalability as the primary objective. With the advent of high-speed internet access, short loading times and fast transfer rates have become a necessity. This book is a detailed guide to setting up Nginx in ways that correspond to actual production situations: as a standalone server, as a reverse proxy, interacting with applications via FastCGI, and more. In addition, this complete direct reference will be indispensable at all stages of the configuration and maintenance processes. This book mainly targets the most recent version of Nginx (1.13.2) and focuses on all the new additions and improvements, such as support for HTTP/2, improved dynamic modules, security enhancements, and support for multiple SSL certificates. This book is the perfect companion for both Nginx beginners and experienced administrators. For beginners, it will take you through the complete process of setting up this lightweight HTTP server on your system and configuring its various modules so that it does exactly what you need quickly and securely. For more experienced administrators, this book provides different approaches that can help you make the most of your current infrastructure. Nginx can be employed in many situations, whether you are looking to construct an entirely new web-serving architecture or simply want to integrate an efficient tool to optimize your site loading speeds.
Table of Contents (13 chapters)

Using Nginx as a TCP load balancer


Until recently, the open source version of Nginx would only allow load balancing in the context of HTTP requests. In the meantime, the commercial subscription Nginx Plus took the concept one step further: using Nginx as TCP load balancer. This would pave the way to much broader possibilities: you could then set up Nginx to distribute the load across any form of networked servers—database servers, email servers, literally everything that communicates via TCP. In May 2015, the authors decided that TCP load balancing should be part of the open source version. As of Nginx 1.9.0, the stream module is included in the source code readily available on http://nginx.org/.

The stream module

The way TCP load balancing works in Nginx is remarkably similar to HTTP load balancing. However, since the module which brings forth the new set of directives is not included in the default build, you will need to run the configure command with the following flag before building...