Application Servers

Application servers are servers that serve our web application code. Some of them might be able to handle real traffic directly, and some might come with some limitations compared to traditional web servers. Lack of protection from slow clients or way slower serving of static assets are examples of where these servers come short.Since learning about web servers in general, we saw how to deploy NGINX to handle TLS certificates and static assets. We also learned how to proxy a request both as a TCP and UNIX socket. At this point, the application server will take over the processing and pass back a reply that will be passed by NGINX back to the client.

Table of Contents

Threads or Processes?

Concurrency and Parallelism

Zero-Downtime Deployment


Ruby Applications

Puma Configuration

Python Applications

Gunicorn Configuration


Buy for $50
Rated 36x five stars
Gumroad (as of Aug 3, 2023)
I am using some scripts I downloaded from Josef Strzibny's book that are setting up Ruby on Rails deployment and automatically installing a PostgreSQL server. I am also using Dokku, but I like the idea of controlling what is happening on the server.
Lucian Ghinda, Senior Ruby Developer