Nginx is an HTTP server and it does 2 things well, it serves static files and it makes a great reverse proxy for APIs.


Each lesson focuses on a single aspect of building the project, like modeling the data, building a GraphQL server in Elixir, or building a mobile client for it in Flutter.

Introduction to Nginx

Nginx Fundamentals

Hosting Static Websites

Use Nginx to host a basic static website.

Server Rendered Apps

How to make Nginx useful with server rendered apps built using Rails or Express.js.

Working With APIs

Load Balancing and Caches

Logging and Monitoring

Configuring and managing basic logging for Nginx.


The code in the applications was produced by:

./alex allen

Alex Allen

Alex is an independent developer who is obsessed with both performance and information security. When not writing code, Alex is either playing guitar or working in his garden.

Featured Lessons

Our content library is pretty great, here are a few lessons we think you might like.

What our Superusers are Saying!

Some other people were willing to publicly state that they like us!

Taylor Dolezal

Software Architect

Smooth Terminal has easily been one of the most helpful resources on my journey to better understand Elixir and the Phoenix web framework.

James Edward II


With any language there are so many details to learn. What functions are built-in? How should I structure my code? What tools are available for improving my workflow? It’s rare to find one source that can answer so many of these questions, but Smooth Terminal does this and more.

Rex Van Der Spuy

Game developer

Smooth Terminal is by far the best resource for learning Elm anywhere, and among the very best online learning platforms, period.