About Mongrel2
Mongrel2 is an application, language, and network architecture agnostic web server that focuses on web applications using modern browser technologies.

Thanks To
Features
- Language Agnostic with a simple backend protocol supporting Ruby, Python, C++, PHP, Haskell, Common Lisp, Perl, .NET, Clojure, and Lua all written by Mongrel2 fans.
- Modern Browser Friendly designed to handle HTTP, Flash XMLSockets, or WebSockets, Long Polling on the same socket transparently.
- ZeroMQ Enabled as well as HTTP proxy support so it works with what you have already while giving you new super powers.
- Network Architecture Agnostic so you can carve your operations up anyway that reduces costs.
- N:M Messaging Patterns means you can have any N handlers answer to any M browsers arbitrarily, but still easy to do plain request/response.
- Automation Loving Configs that are easily accessible via any programming language with an Model-View-Controller design.
- Modern Internal Design using the Mongrel 1 HTTP parser powering many big companies with a proven security track record, event based I/O, fast coroutines to handle that I/O, and smart reasonable defaults with zero configuration needed usually.
- Documented, Documented, Documented We document everything in a well written manual that shows you how to use every feature.
- BSD Licensed and all with a BSD 3-clause license.
Download
Mongrel2 is now 1.0 as of Sep 1 2010:
- mongrel2-1.0.tar.bz2 MD5: e09793c3725fcb5977af9aa6d7c48002
- mongrel2-1.0.zip MD5: 1af42b2f80e10305e4fcd7f11a8a564d
Documentation
Mongrel2 is a very well documented piece of software, as we think great docs will make you more productive and get you running. The documentation is written to be easy to read, pack a lot of information in a small space, and cover everything you need without going crazy on minute details. Currently we have:
- GettingStarted a crash course in getting up and running.
- The Mongrel2 Manual (HTML) is a complete manual covering everything from getting started, to writing your first handlers.
- The Mongrel2 Manual (PDF) grab this if you want better formatting.
- DesignCriticisms
Translations
We've started translating the manual into Russian as well, for now you can read the GettingStarted document in Russian, Spanish and German with more to come.
Languages
Mongrel2 fans have written quite a few handlers already:
- Ruby (with Rack support)
- Python (with WSGI)
- C++
- PHP
- Haskell
- Common Lisp
- Perl (with Plack)
- .NET (Windows and Linux with ASP.NET)
- Clojure
- Lua
It is very easy to create a handler, you should read the manual about handlers for information on writing one for your language.
IRC and Mailing Lists
- You can join the Librelist mailing list by emailing mongrel2@librelist.com.
- There is an IRC channel #mongrel2 on irc.freenode.org
I reserve the right to boot anyone I want off these for being obnoxious, and I arbitrarily define "obnoxious" however I want.
Contributors
Here's the current list of contributors of people hacking on Mongrel2:
- agartrell works on core Mongrel2 like directory serving and the kegogi testing tool.
- jlilly will maybe hack on the Python support.
- jsimmons wrote the Lua binding and hacks on the core Mongrel2.
- pbastov works on translating things to Russian.
- phred hacks on procer and some of the core Mongrel2.
- tordek finds bugs in Mongrel2 and edited the manual.
- wink wrote the PHP stuff and hacks on Mongrel2.
- zedshaw started it all.