Udemy
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
NGINX Mastery
Rating: 4.1 out of 5(36 ratings)
8,346 students

NGINX Mastery

Install NGINX, set up virtual hosts, locations and logs, run PHP and MariaDB as a LEMP stack, plus Vagrant and Git labs
Created byVitalii Shumylo
Last updated 10/2026
English
English [Auto],

What you'll learn

  • Install NGINX and troubleshoot the service on an older Linux system
  • Learn the important files, folders and commands
  • Read the NGINX configuration file with confidence
  • Configure virtual hosts, add files to the root directory and set up locations
  • Configure logs and use them to troubleshoot NGINX
  • Install PHP, then MariaDB, and see a LEMP stack working
  • Build a lab with Vagrant: single and multiple virtual machines, base boxes and networking
  • Learn Git basics: installation, the first commit, remote repositories, cloning, gitignore and branches

Course content

2 sections • 35 lectures • 2h 43m total length
  • Installing NGINX1:28

    Set up a vagrant ubuntu environment, then update packages, install nginx, and start the nginx service.

  • Troubleshooting NGINX service (on older Linux system)7:29

    Troubleshoot the Engine X nginx web server on an older linux system by installing, starting, and restarting the service, diagnosing port 80 conflicts, and inspecting status and logs.

  • NGINX Important Files and Forders3:04

    Explore nginx files and directories on Linux, including the main configuration file, mime types, fastcgi, proxy settings, and sites-available and sites-enabled configurations, plus log monitoring.

  • NGIMX Important Commands1:25

    Learn to control the Engine X service on Linux using systemctl commands, manage root privileges with sudo, start and stop Engine X, and view status with or without a pager.

  • Mastering the NGINX Configuration File4:03

    Explore engine X's main configuration file, understanding directives and blocks, including user, worker_connections, worker processes auto, pid file, include directives, sites enabled, and events and http blocks.

  • Virtual Host Configuration in NGINX9:09

    Configure a demo nginx site by removing the default site, creating a new server block that listens on port 80 for the domain, and validating with syntax test and curl.

  • Virtual Host Configuration in NGINX. Part 22:39

    Configure nginx to serve multiple sites by using the default_server on listen and setting the server_name; specify index.html, test with nginx -t, then reload and verify on localhost.

  • Add files to the root directory2:40

    Replace the default html with your files, create css and javascript folders, link a css file for styling, and clone the GitHub repo into the web root to configure nginx.

  • Configure locations4:04

    Explore configuring Nginx with location directives to route requests via exact, prefix, and regex matches, using URI and root, and serving custom 404 and 500 error pages.

  • Configure logs and troubleshoot NGINX6:18

    Configure nginx access and error logs for a virtual host and its locations to monitor requests and troubleshoot issues, then test and reload the configuration.

  • Install PHP on NGINX5:28

    Install php-fpm and php-mysql on the nginx stack and configure fastcgi_pass to enable dynamic PHP pages. Verify PHP installation with a PHP info page and ensure secure, efficient request handling.

  • Install MariaDB on NGINX and LEMP stack demonstration10:21

    Install MariaDB on the nginx and php stack, secure the database, create an admin user and the appointments database, and deploy a PHP app that lists appointments using mysqli.

Requirements

  • General familiarity with server administration
  • Willingness to work in a Linux command line
  • A Linux machine or virtual machine

Description

NGINX serves a large part of the web, and its configuration file is shorter than it looks once you know the building blocks. In this course you install NGINX on Linux, learn how it is configured, and finish with a working web stack, with every step shown on screen so you can repeat it.

Inside the course

The course is organised into these sections: Getting Started; Additional Materials. Lectures you will find include: NGINX Important Files and Forders; NGIMX Important Commands; Mastering the NGINX Configuration File; Virtual Host Configuration in NGINX; Add files to the root directory; Configure logs and troubleshoot NGINX; Install PHP on NGINX; Install MariaDB on NGINX and LEMP stack demonstration; Working with s single VM in Vagrant. Section Overview; Importing and using base boxes in Vagrant; Managing Vagrant boxes; Working with multiple VMs in Vagrant. Section Overview; Defining and connecting to multiple virtual machines in Vagrant; Networking the multiple virtual machines in Vagrant; Building Lab Environment with Vagrant; Introduction to Git; Git: Getting installed; Git: A few important configuration settings; Git: Creating a project. The first commit; Git: Working with remote repositories; Git: Cloning a project from the remote repository; Git: Git important commands. Viewing commits' history; Branches in Git. Creating, deleting and renaming branches; Creating an IIS website on Nano Server with PowerShell; Introduction to PowerShell Key Concepts; Intro to WMI and CIM.

The course runs about 2.7 hours in 35 lectures. It is a focused introduction to NGINX, so it does not cover load balancing, reverse proxy tuning or security hardening in depth. The Vagrant and Git sections are additional material that supports the labs.

Who this course is for:

  • System administrators who need to run a web server on Linux
  • DevOps technicians who want to understand NGINX configuration
  • Beginners who want a first practical NGINX course
  • Automation technicians who need a LEMP stack