Introduction to Nginx – Complete Tutorial

Course Overview

In this post, we feature a comprehensive Introduction to Nginx Tutorial. Nginx is an open source HTTP and reverse proxy server, as well as a mail proxy server, load balancer, and HTTP cache. The nginx project started with a strong focus on high concurrency, high performance and low memory usage. It runs on Linux, BSD variants, Mac OS X, Solaris, AIX, HP-UX, as well as on other *nix flavors. It also has a proof of concept port for Microsoft Windows. According to Netcraft nginx served or proxied 17.65% busiest sites in March 2014.

This course will introduce you to the magic of nginx. You will learn to install and configure nginx for a variety of software platforms and how to integrate it with Apache.

Additionally, you will get involved with more advanced concepts like Load Balancing, SSL configuration and Websockets proxying.

About the Author

Gabriel’s areas of expertise and interest are Linux system administration, shell scripting, database administration (SQL Server, MySQL, Oracle 11g), object-oriented and procedural programming (Python and PHP), desktop applications (C#, Visual Basic, Excel with VBA) and web development (jQuery, HTML5, CSS3, PHP).

He has also been working as a Level-1 TSR (Technical Support Representative) supporting onsite the startup and ongoing operation of the WMS in a major multinational company, running Red Hat Enterprise Linux and Oracle 11g as RDBMS.


Nginx installation on Linux

In this first lesson of our course, you will learn how to install and configure Nginx in various platforms and environments. Installation guidelines are provided for several major Linux distributions, such as Debian Wheezy, Ubuntu 12.04 LTS and CentOS 6.4. Additionally, the activation of various modules is explained, including standard HTTP, optional HTTP and mail modules. Finally, you will learn how to add Nginx as a system service, so that the servers follows the OS’s lifecycle.

Nginx Configuration Guide (Ubuntu 12.04 LTS)

In this lesson, you will get to know the insides of Nginx Configuration. You will get acquainted with the Nginx configuration file syntax and directives, and how to organize the include the various configuration files. Next, you will learn about the base modules, which allow to define the basic parameters and configuration of Nginx. These are built-in into Nginx automatically during compile time. Finally, you will see how to configure an HTTP Server and a mail server proxy, as well as virtual hosts.

Nginx and Apache (Ubuntu 12.04 LTS)

In this lesson, we will examine the integration between Nginx and the Apache web server. Nginx works as reverse proxy. A reverse proxy is a device or service placed between a client and a server in a network infrastructure. We will see how to configure both servers appropriately and how to fine-tune them for performance.

Load balancing with Nginx (Ubuntu 12.04 LTS)

In this lesson, we will see how to perform Load balancing with Nginx. Load balancing is a networking method for distributing workloads across multiple computing resources, such as servers, a server cluster, network links, CPUs, or other hardware components. Using Nginx, we will set up a layer-7 load balancer (which will distribute requests based upon data found in application layer protocols such as HTTP and FTP).

Nginx SSL configuration guide (Ubuntu 12.04 LTS)

In this lesson, we will focus on Nginx’s SSL configuration. The SSL (Secure Socket Layer) protocol was created to ensure secure transactions between web servers and browsers (using secure pages). SSL is supported by the Nginx server. We will see how to create, sign, and use the required certificates, as well as how to setup Nginx SSL’s capabilities.

Nginx Websockets proxying guide (Ubuntu 12.04 LTS)

In this lesson, we will focus on Nginx’s Websockets proxying capabilities. WebSocket is a protocol providing full-duplex communications channels over a single TCP connection and is designed to be implemented in web browsers and servers, but it can be used by any client or server application. Nginx supports Websockets starting in version 1.3.13 and is accessible within the core product. In order to test drive this feature, we will also build a quick Node.js application in order to better assess the Websockets capabilities of Nginx.

Nginx – Summing up (Ubuntu 12.04 LTS)

In this last tutorial we will review some key important facts about Nginx that we have discussed in depth on the previous ones.

Make sure to retweet this, let your social followers know!

Gabriel Canepa

Gabriel Canepa is a Linux Foundation Certified System Administrator (LFCS-1500-0576-0100) and web developer from Villa Mercedes, San Luis, Argentina. He works for a worldwide leading consumer product company and takes great pleasure in using FOSS tools to increase productivity in all areas of his daily work. When he's not typing commands or writing code or articles, he enjoys telling bedtime stories with his wife to his two little daughters and playing with them, the great pleasure of his life.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Newest Most Voted
Inline Feedbacks
View all comments
Jie Yang
8 years ago

Thanks for this ebook!

6 years ago

i cannot download the ebooks…

Nataly Evagorou
6 years ago
Reply to 


you can login to the site and then visit this link to find the pdf format

6 years ago

Thank you, did it!

Back to top button