Book Image

Nginx Module Extension

By : Usama Dar
Book Image

Nginx Module Extension

By: Usama Dar

Overview of this book

<p>Companies can solve significant scaling issues thanks to switching their web platforms to Nginx. A popular web server for building web infrastructure, Nginx transparently and effectively enables the growth of the largest sites on the Internet today, on top of being free and open source.</p> <p>This book is a practical reference providing you with everything you need to know about Nginx module extensions. You will learn how to write powerful and flexible configuration files and your own modules, as well as gaining knowledge about Nginx’s modular architecture, available modules, and their intricate details.</p> <p>Nginx Module Extension starts by teaching you to compile the Nginx source on multiple platforms. Then you will learn the synopsis, directives, and practical examples of the core, optional, and third party Nginx modules before familiarizing yourself with Nginx internals, enabling you to write custom modules.</p> <p>You will learn about the flexibility of the Nginx configuration and how to enable and disable various options while building from the source. You will learn to customize the Main and Events module to fine-tune the web server performance, and you will also learn about standard and optional HTTP modules like GeoIP, Gzip, Access Control, and using SSL, along with an exploration of PostgreSQL, MySQL, and Memcached modules. Finally you will learn internals like module chaining and will see sample code and a line-by-line walkthrough demonstrating how to write your own module.</p>
Table of Contents (12 chapters)

Compiling third-party modules


None of the third-party modules that we will be covering in this chapter are distributed with the source code. You will have to download the source code and compile it by specifying its location while compiling Nginx. You can do that by specifying the --add-module parameters while running configure. For example, if you downloaded the module's source code present in /opt/downloads, you can compile it in the Nginx binary with the following code:

configure --add-module=/opt/downloads/module-folder

Some of these modules may have additional dependencies, which you will have to resolve. Please refer to the documentation of the module you are trying to install, to make sure you understand the consequences and dependencies of the module you are about to compile.

Communicating with PostgreSQL (ngx_postgres)

The Nginx PostgreSQL module is currently hosted at http://labs.frickle.com/nginx_ngx_postgres/ and maintained by Frickle Labs. It is an upstream module that allows direct...