A comprehensive workshop on nginx covering fundamental concepts and practical implementations. This repository contains both educational documentation and hands-on demonstration projects.
This workshop is designed to introduce nginx step by step, from basic file serving to advanced configurations including reverse proxying, load balancing, SSL termination, and caching.
This repository is organized into two main parts:
Educational content covering nginx concepts, architecture, and best practices:
Practical, runnable projects that you can clone and follow along:
- 01-serving-files - Serve static files using nginx
- 02-reverse-proxy - Configure nginx as reverse proxy
- 03-load-balancer - Set up nginx as load balancer
- 04-ssl-termination - Enable HTTPS with SSL termination
- 05-caching - Implement caching strategies
- 06-docker-compose - Complete Docker Compose setup
- Basic understanding of web servers and HTTP
- Command line familiarity
- nginx installed (instructions in each demo)
- Docker and Docker Compose installed (for demo 06)
- Python 3.x installed (for Flask backend applications)
-
Clone this repository:
git clone <repository-url> cd nginx-workshop
-
Read the documentation: Start with the Introduction to nginx to understand the fundamentals.
-
Follow along with demos: Each numbered directory contains a complete, runnable demonstration:
cd 01-serving-files # Follow the README instructions
- Read the docs - Start with the documentation in
docs/to understand concepts - Try the demos - Work through each numbered project to see nginx in action
- Experiment - Modify configurations and see how nginx behaves
- Complete README with step-by-step instructions
- All necessary code files (Flask apps, HTML, etc.)
- nginx configuration files
- Installation commands
- Testing instructions
- Cleanup steps
- Static file serving
- Reverse proxy configuration
- Load balancing algorithms
- SSL/TLS termination
- Caching strategies
- Docker containerization
- Presenter Guide - Quick reference for workshop presenters
- Official nginx Documentation
- nginx Beginner's Guide
Feel free to fork this repository and customize it for your own workshops or learning purposes.
See LICENSE file for details.