
Engage in a hands-on introduction to nginx on ubuntu, installing and configuring a web server for static sites, reverse proxies, https, and basic authentication, with docker, wsl, and cloud options.
learn nginx, a high performance web server and reverse proxy, that handles thousands of connections with simple configs. explore serving static sites, reverse proxying, load balancing, https, and access control.
Set up your environment for nginx on Ubuntu Linux, install nginx with apt, and start the service to view the default page on port 80, including docker and WSL options.
Learn to serve a basic static website with nginx by hosting html, css, and javascript from /var/www/html, editing the default page, and deploying a rock-paper-scissors site via scp.
Examine nginx configuration files, including the main config and sites available, with includes and virtual host blocks, then test with nginx -t and reload with systemctl.
Learn how nginx acts as a reverse proxy, forwarding requests to a backend express API on port 3000 to hide the internal app and enable ssl termination.
Configure nginx as a load balancer by defining an upstream backend pool to distribute requests across multiple express backends, boosting scalability and fault tolerance.
Make your nginx production-ready with HTTPS on AWS. Launch an Ubuntu EC2, point a real domain via Route 53, install Certbot nginx plugin, and enable automatic renewals with Let's Encrypt.
Protect routes with basic HTTP authentication and IP restrictions in nginx, using a htpasswd file for secret and admin areas. Note that HTTP basic auth is not secure without HTTPS.
Learn to monitor and troubleshoot nginx using access and error logs, tail them in real time, verify status with systemctl and journalctl, and use DevTools for debugging requests.
Wrap up by reviewing nginx basics from installation to serving static content, reverse proxy to a Node.js app, and simple load balancing, with https and domain setup, plus logs.
Welcome to Hands-On Introduction to Web Serving with NGINX — a practical and beginner-friendly course designed to help you understand how modern websites and apps are actually served to users.
I’m Lucas, a tech lead in an international team, and I've created this course to give you the skills and confidence to start using NGINX in real-world scenarios — no slides, just hands-on practice in your terminal and browser.
In this course, you’ll learn:
What a web server is and why NGINX is so widely used
How to set up a Linux-based environment with NGINX installed
How to serve static websites and reverse proxy to backend applications like Node.js
How to load balance across multiple backend servers
How to set up a domain name with Route 53 and secure your site with HTTPS using Let’s Encrypt in the Cloud (AWS)
How to password-protect parts of your site and restrict access by IP address
How to read logs and troubleshoot issues using tail, journalctl, and browser developer tools
So if you're just getting started with DevOps or want to understand how servers handle web traffic, this course walks you through it all — step by step.
By the end, you’ll know how to serve and secure real applications with NGINX and feel ready to explore more advanced topics.