Nginx Fundamentals: High Performance Servers from Scratch
4.5 (514 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,698 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Nginx Fundamentals: High Performance Servers from Scratch to your Wishlist.

Add to Wishlist

Nginx Fundamentals: High Performance Servers from Scratch

Learn how to install & configure an Nginx web server from scratch.
Best Seller
4.5 (514 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,698 students enrolled
Created by Ray Viljoen
Last updated 7/2017
English [Auto-generated]
Current price: $12 Original price: $145 Discount: 92% off
4 days left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Learn to create custom Nginx web servers
  • Customise your Nginx install
  • Secure & optimise your server
  • Add an invaluable skill to your resume
  • Verifiable certificate of completion
View Curriculum
  • Understand basic networking concepts
  • Be comfortable using the command line

Learn to install, configure and tweak NGINX to create secure, high performance web servers from scratch.

Build a strong foundation in NGINX with this practical course suited to both beginners and the more experienced.

  • Learn to customise the NGINX installation
  • Configure NGINX as a web server
  • Install & configure a server-side programming language as an NGINX backend
  • Learn to tweak NGINX for optimal performance
  • Secure NGINX with some security best practises

An invaluable skill for any techie or developer in the web industry

NGINX is the fastest growing and most popular web server for a reason, so understanding it will be an invaluable skill to anyone working in the web industry, specially network admins & web developers.

This course will provide a very practical and concise approach to learning NGINX and will give you a solid base to immediately start creating secure, high performance web servers.

Content and Overview

With 24 concise and practical lectures, this course aims to teach a solid foundational understanding of NGINX and is suitable for anyone with a basic understanding of networking and the linux command line interface.

The course starts by looking at the differences between NGINX and Apache for those with Apache experience and then explains the different ways of installing NGINX, customising your install, and configuring NGINX as a service.

The installation section also covers updating NGINX without downtime and adding/removing modules.

The bulk of the course is then focussed on configuring NGINX as a web server, including connecting it to a PHP backend and configuring some of NGINX's best features, such as Gzipping and GeoIP.

The final section will go over securing the server and the user via SSL and other security best practices.

Upon completion of this course you will have the practical skills to immediately start building secure, high performance web servers or improve and better understand existing hosting solutions you might work with.

This course is to the point and everything is demonstrated in the most simple, yet practical ways.

We do not focus on the theory, but get straight to installing, configuring and learning!

Who is the target audience?
  • This course is aimed at Nginx newbies looking to get started as quickly and effectively as possible.
  • The aim is to get a practical understanding of Nginx as a real-world web server and not dig into all of it's features.
  • The course does not cover hosting/networking concepts, but rather assumes an understanding of the basic principles and use of commands such as curl.
Compare to Other NGINX Courses
Curriculum For This Course
31 Lectures
3 Lectures 07:28

A quick look at who created Nginx & why it was needed. Also covers a brief conceptual overview of Nginx architecture.

About Nginx

Apache has been the go to web server for years, and many students will be familiar with it, this video explain just how Nginx differs from Apache and the pros and cons of each, including:

  • Performance
  • Memory Usage
  • Server-side language configuration
  • URI handling
Nginx vs Apache

Test your knowledge
1 question
4 Lectures 14:20

Learn how to install Nginx on a linux based system using a package manager such as apt-get or yum.

Preview 03:17

How to configure, build and install Nginx from source.

  • Downloading source code
  • Setting configuration options
  • Adding non-default modules
Building Nginx from Source & Adding Modules

After installing Nginx from source, this video covers how to configure Nginx as a system service for easier process management.

Configuring Nginx as a service will allow service commands like:

  • Start
  • Stop
  • Restart
  • Reload
  • Status

This also allows changes to the Nginx configuration to be loaded easilly without any server downtime.

Adding Nginx as a Service & Updating custom build

A very brief overview of running Nginx on Windows and it's limitations.

Nginx for Windows

Test your knowledge
1 question
8 Lectures 37:52

Understand the Nginx configuration terms like 'context' and 'directive' in order to follow along and also grasp external resources and documentation.

Understanding Configuration Terms

How to configure a minimal static file serving virtual host.

Preview 04:56

Learn how to write location blocks for different behaviours on different URI requests to the server.

Location blocks

Fine tune error and access logs on the server for better debugging and optimised performance.


Explains different types of directives and how they get inherited.

Directive include:

  • Standard
  • Action
  • Array

Also covers the try_files directive.

Inheritance & Directive types

How to install a standalone server-side language (PHP-FPM) and configure Nginx to communicate with it via either a unix socket or a TCP port.

Backend communication

Learn to optimise the Nginx process by configuring options such as:

  • Number of processes
  • Number of worker processes
  • Calculating max connections
  • Setting buffer sizes
  • Setting timeouts
Configuring Nginx Workers and Other Usefull Directives

Build Nginx with dynamically loadable modules.

Dynamic Modules

Test your knowledge
7 questions
Best Nginx features
7 Lectures 41:36

Lessen server load and improve performance for the client by configuring expires headers on static assets such as stylesheets and javascript files.

Expires Headers

Learn to enable and optimise Gzipping on the server for significant performance increases in the browser.

Preview 03:41

Learn to enable Nginx's built in FastCGI cache for caching dynamic responses as static resources. This allows for greatly improved server response times and improves the load handling capability of the server.

FastCGI Cache

An explanation and demonstration of implementing request rate limits on the server. This includes limiting:

  • Users per IP
  • Requests per vhost

Looks at configuring the MP4 module for Nginx. This includes setting streaming limits and using pseudo streaming.

Video streaming

Set up geo location data on the server. This video teaches how to:

  • Install the Maxmind geoip libraries
  • Configure Nginx to look up geo location data using the GeoIP module
  • Retrieve geo data using the module variables.

Why HTTP2 and how to configure an Nginx Vhost to support HTTP2 connections.


A quiz on the basic concepts of configuring Nginx.

Test your knowledge
3 questions
3 Lectures 09:15

Encrypt connection via HTTPS. This video demonstrates creating and installing SSL certificates and configuring Nginx to listen for HTTPS connections.


Secure all or parts of the server via password. Learn to use apache-utils to create a password file and configure Nginx to secure requests to a certain URI.

Preview 01:48

Some best practises for securing an Nginx server, including:

  • Removing unused modules
  • Hiding server version information
  • Blocking certain user agents or referrers
  • Restricting iframe requests
Hardening Nginx

Test your knowledge
3 questions
NEW - Reverse Proxy & Load Balancing
4 Lectures 23:15

An overview of some changes to the lessons' format and tools used to test reverse proxying and load balancing.


Learn to implement reverse proxying in NGINX as a feature in of itself rather than only to support a backend.

Reverse Proxy

An introduction to understanding the basic concept of load balancing and a default round-robin implementation of NGINX as a load balancer.

Load Balancer

Learn to customise an NGINX load balancer by means of ip hashing or connection-based load balancing.

Load Balancer Options
Nginx Resources
2 Lectures 03:32

See where to find the best Nginx resources, references and further learning. Also covers the standard Nginx documentation structure.

Documentation & Resources

About the Instructor
Ray Viljoen
4.5 Average rating
939 Reviews
6,241 Students
4 Courses
Practical Courses Designed for Learning Efficiency.

Stackacademy provides high-quality Courses for Developers, with learning-efficiency as the #1 priority.

My name is Ray Viljoen,
I have 9 years experience as a Full Stack Developer and have real world experience building, maintaining & improving a wide range of applications.

My courses are concise, teaches practical skills and is designed to also serve as usable future reference material.