Learn Nginx

What is Nginx?

  • History and evolution
  • Comparison with other web servers (Apache, IIS)
  • Use cases for Nginx

Installing Nginx

  • Installation on Linux (Ubuntu/Debian, CentOS)
  • Installation on Windows
  • Verifying the installation

Getting Started with Nginx

  • Starting and stopping the service
  • Checking the server status
  • Introduction to Nginx file structure
  • First website with Nginx

Understanding Nginx Configuration

  • The nginx.conf file
  • Basic configuration syntax
  • Virtual servers: server blocks

Configuring Virtual Hosts

  • Setting up multiple sites
  • Symbolic links for enabled and available sites
  • Managing multiple domains

Logs in Nginx

  • Access and error logs
  • Customizing log formats
  • Log rotation and best practices

Nginx as a Reverse Proxy

  • Introduction to the reverse proxy concept
  • Basic configuration
  • Reverse proxy for Node.js, Python applications, etc.

Load Balancing with Nginx

  • Load balancing types: Round Robin, Least Connections, IP Hash
  • Basic load balancing configuration
  • Using health checks for backend servers

Managing SSL/TLS in Nginx

  • SSL/TLS basic concepts
  • HTTPS configuration
  • Free SSL certificates with Let’s Encrypt
  • Best practices for SSL security

URL Redirection and Rewrite

  • Using rewrite and return
  • 301 and 302 redirects
  • Complex URL rewrites

Performance Optimization

  • Caching static content
  • Gzip compression
  • Optimizing load times and resource usage

Security in Nginx

  • Limiting access by IP
  • Protection against DDoS attacks
  • Security configuration with HTTP headers (CORS, X-Frame-Options, HSTS)
  • Basic authentication with Nginx

Configuring Nginx for High Availability

  • Nginx configuration with High Availability (HA) systems
  • Using upstream and failover

Nginx with WordPress and Other CMS

  • Nginx configuration for WordPress
  • Optimization for popular CMS

Nginx with Docker

  • Deploying Nginx in Docker containers
  • Creating custom images

Common Problem Solutions

  • 502/504 Errors: Gateway Timeout
  • 413 Errors: Payload Too Large
  • Troubleshooting and solving common issues

Nginx Deployment and Monitoring

  • Best practices for deployment
  • Monitoring Nginx with tools like Prometheus and Grafana

Updating and Maintaining Nginx

  • Safely updating Nginx
  • Managing modules and extensions