Our great sponsors
mongrel | Thin | |
---|---|---|
2 | 3 | |
173 | 2,261 | |
- | - | |
10.0 | 3.4 | |
over 14 years ago | about 2 months ago | |
Ruby | Ruby | |
GNU General Public License v3.0 or later | Ruby License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mongrel
-
Newb here: have you written your own web server? Seeking advice
The other major thing you'll run into is performance. WEBrick's HTTP parsing code may look hairy but it is fast. Mongrel was the first Ruby HTTP server to implement it's HTTP parser in C using Ragel, which Thin, Unicorn, and Puma all copied; although there's a bug in the original Mongrel HTTP parser where it does not combine the values duplicate HTTP headers (yes, HTTP Header names can actually be repeated).
Thin
-
How to Use Sinatra to Build a Ruby Application
This one file contains everything needed for this simplified app to run. Run it with ruby main.rb, which should spin up an instance of the Thin web server (the default web server that comes with Sinatra). Visit localhost:4567 and you'll see the JSON response.
-
Newb here: have you written your own web server? Seeking advice
The other major thing you'll run into is performance. WEBrick's HTTP parsing code may look hairy but it is fast. Mongrel was the first Ruby HTTP server to implement it's HTTP parser in C using Ragel, which Thin, Unicorn, and Puma all copied; although there's a bug in the original Mongrel HTTP parser where it does not combine the values duplicate HTTP headers (yes, HTTP Header names can actually be repeated).
-
The Definitive Guide to Rack for Ruby and Rails Developers
Now let's run our application using a different server. We'll use Thin, a small, simple, and fast web server.
What are some alternatives?
EventMachine - EventMachine: fast, simple event-processing library for Ruby programs
Puma - A Ruby/Rack web server built for parallelism
Phusion Passenger - A fast and robust web server and application server for Ruby, Python and Node.js
Rack - A modular Ruby web server interface.
Unicorn - Unofficial Unicorn Mirror.
Tokamak - SwiftUI-compatible framework for building browser apps with WebAssembly and native apps for other platforms
Goliath - Goliath is a non-blocking Ruby web server framework
bindata - BinData - Reading and Writing Binary Data in Ruby
falcon - A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS.
tracks - A bare-bones Ruby HTTP server that talks Rack and uses a thread per connection model of concurrency.
Reel