nginx vs Puma vs Unicorn

nginx
nginx

23.4K
3.9K
5.4K
Puma
Puma

235
51
16
Unicorn
Unicorn

477
8
292

What is nginx?

nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.

What is Puma?

Unlike other Ruby Webservers, Puma was built for speed and parallelism. Puma is a small library that provides a very fast and concurrent HTTP 1.1 server for Ruby web applications.

What is Unicorn?

Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels. Slow clients should only be served by placing a reverse proxy capable of fully buffering both the the request and response in between Unicorn and slow clients.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose nginx?
Why do developers choose Puma?
Why do developers choose Unicorn?
What are the cons of using nginx?
What are the cons of using Puma?
What are the cons of using Unicorn?
    Be the first to leave a con
    What companies use nginx?
    What companies use Puma?
    What companies use Unicorn?
    What are some alternatives to nginx, Puma, and Unicorn?
    HAProxy
    HAProxy (High Availability Proxy) is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
    lighttpd
    lighttpd has a very low memory footprint compared to other webservers and takes care of cpu-load. Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting and many more) make lighttpd the perfect webserver-software for every server that suffers load problems.
    Traefik
    Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Swarm, Mesos/Marathon, Kubernetes, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) to manage its configuration automatically and dynamically.
    Caddy
    Caddy is a production-ready open-source web server that is fast, easy to use, and makes you more productive. HTTP/2 and HTTPS by default
    Envoy
    Originally built at Lyft, Envoy is a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures.
    See all alternatives
    What tools integrate with nginx?
    What tools integrate with Puma?
    What tools integrate with Unicorn?
      No integrations found
        No integrations found
          No integrations found
          Decisions about nginx, Puma, and Unicorn
          No stack decisions found
          Interest over time
          Reviews of nginx, Puma, and Unicorn
          No reviews found
          How developers use nginx, Puma, and Unicorn
          Avatar of MaxCDN
          MaxCDN uses nginxnginx

          The original API performed a synchronous Nginx reload after provisioning a zone, which often took up to 30 seconds or longer. While important, this step shouldn’t block the response to the user (or API) that a new zone has been created, or block subsequent requests to adjust the zone. With the new API, an independent worker reloads Nginx configurations based on zone modifications.It’s like ordering a product online: don’t pause the purchase process until the product’s been shipped. Say the order has been created, and you can still cancel or modify shipping information. Meanwhile, the remaining steps are being handled behind the scenes. In our case, the zone provision happens instantly, and you can see the result in your control panel or API. Behind the scenes, the zone will be serving traffic within a minute.

          Avatar of Cloudcraft
          Cloudcraft uses nginxnginx

          Nginx serves as the loadbalancer, router and SSL terminator of cloudcraft.co. As one of our app server nodes is spun up, an Ansible orchestration script adds the new node dynamically to the nginx loadbalancer config which is then reloaded for a zero downtime seamless rolling deployment. By putting nginx in front or whatever web and API servers you might have, you gain a ton of flexibility. While previously I've cobbled together HAProxy and Stun as a poor man's loadbalancer, nginx just does a much better job and is far simpler in the long run.

          Avatar of datapile
          datapile uses nginxnginx

          Used nginx as exactly what it is great for: serving static content in a cache-friendly, load balanced manner.

          It is exclusively for production web page hosting, we don't use nginx internally, only on the public-facing versions of static sites / Angular & Backbone/Marionette applications.

          Avatar of Pēteris Caune
          Pēteris Caune uses nginxnginx

          We use NGINX both as reverse HTTP proxy and also as a SMTP proxy, to handle incoming email.

          We previously handled incoming email with Mandrill, and then later with AWS SES. Handling incoming email yourself is not that much more difficult and saves quite a bit on operational costs.

          Avatar of Wirkn Inc.
          Wirkn Inc. uses nginxnginx

          NGINX sits in front of all of our web servers. It is fantastic at load balancing traffic as well as serving as a cache at times when under massive load. It's a robust tool that we're happy to have at the front lines of all Wirkn web apps.

          Avatar of SmartLogic
          SmartLogic uses UnicornUnicorn

          Rolling deploys are awesome! We use Unicorn to keep downtime to a minimum as we iterate quickly for our clients.

          Avatar of Avalanche Network
          Avalanche Network uses UnicornUnicorn

          Our super server that runs a web instance and a worker instance.

          Avatar of douglasresende
          douglasresende uses UnicornUnicorn

          I use with my Ruby on Rails projects.

          Avatar of Karma
          Karma uses UnicornUnicorn

          Our go-to Ruby application server.

          Avatar of Oded Arbel
          Oded Arbel uses PumaPuma

          Server for Rails-powered API

          Avatar of Satoru Ishikawa
          Satoru Ishikawa uses PumaPuma

          Heroku で動かすWebサーバー

          Avatar of Jamie Yun
          Jamie Yun uses PumaPuma

          expert

          How much does nginx cost?
          How much does Puma cost?
          How much does Unicorn cost?
          Pricing unavailable
          Pricing unavailable
          Pricing unavailable
          News about Unicorn
          More news