Getting Started with NGINX
This course will teach you how to use NGINX to serve files, proxy traffic, load balance, cache, secure, manipulate, and optimize web traffic.
What you'll learn
NGINX is the swiss army knife of web protocols. In this course, Getting Started with NGINX, you'll learn how NGINX provides a consistent interface for connecting services and exposing applications to the world. First, you'll discover how to use NGINX as a web server. Next, you'll explore how NGINX can proxy requests and load balance traffic for scalability, including, how to transparently inject caching, buffering, and HTTPS termination. Finally, you'll learn how NGINX can rewrite requests and responses. When you're finished with this course, you'll know how to transparently inject NGINX into all sorts of pathways to consistently and reliably connect applications.
Table of contents
- The Official NGINX Docker Image 2m
- Installing NGINX in Ubuntu: Linux/WSL 3m
- Running the NGINX Service 3m
- brew install nginx: macOS 1m
- Diving into /etc/nginx/nginx.conf 2m
- Directives: Simple vs. Block 1m
- Finding the Welcome Page: Location and Root Directives 2m
- nginx.org Example Files and VS Code Extension 3m
- Combining Config Files 2m
- Configuring NGINX to Serve nginx.org Files 2m
- Sending the Reload Signal to NGINX 2m
- Setting a Custom 404 error_page 1m
- autoindex Directive and Cleanup 2m
- Running the Example Backends 3m
- Setup NGINX to Listen on Port 8080 3m
- The proxy_pass Directive 1m
- Configure the Ghost Backend with the Proxy URL 2m
- Proxying the Hello Backend on Port 8081 2m
- Proxying mailhog.com to the MailHog Backend 3m
- The Host Header Drives Server Selection 2m
- Proxying SMTP with the Stream Module 2m
- Telnet an Email through Your SMTP Proxy 3m
- Load Balancing Architecture 3m
- Scaling to Multiple Backends 2m
- The upstream Directive 2m
- Load Balancing Weights 1m
- Backup Servers and Passive Health Checks 3m
- ip_hash Sticky Load Balancing 2m
- Inspecting Headers with curl, httpie, or a Web Browser 2m
- Header Diff: Direct vs. Proxied 2m
- Inspecting Server-side Headers for Changes 3m
- return to Inspect Variables 4m
- Confine return to /inspect 2m
- Replace *.jpg with nginx.png 2m
- rewrite Directive 2m
- First, Set error_log to Debug Level 2m
- Then, Use nginx-debug 2m
- Stepping through Request Rewriting in the Debug Logs 2m
- A/B Testing with split_clients Directive 2m
- Modifying the Response Body with sub_filter 2m
- gzip Directive to Compress Responses on the Fly 2m
- Overriding the Inherited default_type 1m
- Heads up: Inheritance with add_header 3m