Mongrel (web server)


Mongrel (web server)
Mongrel
Developer(s) Zed A. Shaw
Stable release 1.1.5 / May 22, 2008; 3 years ago (2008-05-22)
Operating system Cross-platform
Type Web server
License Ruby License[1]
Website rubygems.org/gems/mongrel

Mongrel is an open-source HTTP library and web server written in Ruby by Zed Shaw. It is used to run Ruby web applications and presents a standard HTTP interface. This makes layering other servers in front of it possible using a web proxy, a load balancer, or a combination of both, instead of having to use more conventional methods employed to run scripts such as FastCGI or SCGI to communicate. This is made possible by integrating a custom high-performance HTTP request parser implemented using Ragel.

Contents

Deployment

One popular configuration is to run Apache 2.2 as a load balancer using mod_proxy_balancer in conjunction with several Mongrel instances, with each Mongrel instance running on a separate port. This is something that can be configured very easily using the mongrel_cluster management utility. Apache can divide the incoming requests among the available Mongrel processes, and, with careful configuration, can even serve static content itself without having to delegate to Mongrel. Until recently, Twitter was a notable instance of this configuration.[2]

For those who wish to avoid Apache altogether, it is possible to deploy a Mongrel cluster with an alternative web server, such as nginx or lighttpd, and a load balancer of some variety such as Pound or a hardware-based solution.

Mongrel is capable of serving Ruby on Rails powered sites without requiring any other web servers, though as a single-threaded application this configuration is unsuitable for all but light loads.

See also

References

  1. ^ http://github.com/fauna/mongrel/blob/master/LICENSE
  2. ^ "Unicorn Power", Twitter Engineering Blog, March 30, 2010

External links

  • Swiftiply an alternative, event based wrapper around Mongrel, that conforms to the Mongrel API.

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Mongrel — refers to mixed ancestry: In botany, a mongrel may refer to the offspring of varieties of a species which was in contrast to a hybrid Among pets, one whose parentage is of unknown or mixed breeds as opposed to purebred Among humans, mongrel and… …   Wikipedia

  • Mongrel (disambiguation) — A mongrel is something of mixed ancestry. Mongrel may also refer to: Mongrel (album), an album by The Bob Seger System Mongrel (band), a British rock band Mongrel (TNTLLY album), an album by The Number Twelve Looks Like You Mongrel (web server),… …   Wikipedia

  • Mongrel (serveur HTTP) — Pour les articles homonymes, voir Mongrel. Mongrel …   Wikipédia en Français

  • Comparison of lightweight web servers — Lightweight web servers are web servers which have been designed to run with very small resource overhead because of hardware, environment, or simply for the challenge of it.[citation needed] Many of these servers have been created as a mental… …   Wikipedia

  • Mac OS X Server — Screenshot of Snow Leopard Server Company / developer …   Wikipedia

  • Nitro (web framework) — Nitro Developer(s) George Moschovitis Stable release 0.41 / December 12, 2006; 4 years ago (2006 12 12) Operating system Cross platform …   Wikipedia

  • Monit — Developer(s) Tildeslash Ltd …   Wikipedia

  • List of programmers — This list is incomplete; you can help by expanding it. This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. Contents: A B C D E F G H I J K L M N …   Wikipedia

  • JRuby — Infobox Software name = JRuby caption = developer = Charles Nutter, Thomas Enebo, Ola Bini and Nick Sieger latest release version = 1.1.4 latest release date = release date|2008|08|28 latest preview version = latest preview date = operating… …   Wikipedia

  • Zena (software) — infobox Software name = Zena caption = developer = Gaspard Bucher operating system = Cross platform genre = Content management system latest release version = alpha latest release date = license = MIT license website = http://zenadmin.orgZena is… …   Wikipedia