Book Image

Nginx HTTP Server, Third Edition

By : Clement Nedelcu
Book Image

Nginx HTTP Server, Third Edition

By: 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 free, open source solution will either come as a full replacement of other software such as Apache, or stand in front of your existing infrastructure to improve its overall speed. This book is a detailed guide to setting up Nginx in different 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 directive reference will be your best friend at all stages of the configuration and maintenance processes. 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 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 (17 chapters)
Nginx HTTP Server Third Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Truncated or invalid FastCGI responses


When setting up an Nginx frontend for a website that heavily relies on AJAX (Asynchronous JavaScript and XML) along with a FastCGI backend such as PHP, you may run into different sorts of problems. If your server returns truncated AJAX responses, invalid JSON values, or even empty responses, you may want to check your configuration for the following elements:

  • Have you set up a writable directory for the temporary FastCGI files? Make sure you do so via the fastcgi_temp_path directive.

  • If fastcgi_buffering is set to off, all FastCGI responses are forwarded to the client synchronously, in chunks of a certain size (determined by fastcgi_buffer_size).

  • In some cases, increasing the size and number of buffers allocated to storing FastCGI responses prevents the responses from getting truncated. For example, use fastcgi_buffers 256 8k; for 256 buffers of 8 kilobytes each.