Mongrelは、 Zed Shaw氏によってRubyで書かれたオープンソースのHTTPライブラリおよびWebサーバーです。Ruby Webアプリケーションを実行するために使用され、標準的なHTTPインターフェースを提供します。これにより、FastCGIやSCGIなどの従来のスクリプト実行方法を使用する代わりに、Webプロキシ、ロードバランサー、またはその両方を組み合わせて、他のサーバーをMongrelの前に配置することが可能になります。これは、 Ragelを使用して実装されたカスタムの高性能HTTPリクエストパーサーを統合することで実現されています。
ライアン・ダールによれば、MongrelはTwitterが最初に使用したWebサーバーであり、Node.jsに影響を与えたという。[ 2 ]
その後、ショーはMongrelサーバーの後継として、オープンソースの「言語非依存型」WebサーバーであるMongrel2を開発した。
一般的な構成の 1 つは、 mod_proxy_balancer を使用してApache HTTP Server 2.2 をロード バランサーとして実行し、複数の Mongrel インスタンスと連携させるものでした。各 Mongrel インスタンスは、mongrel_cluster 管理ユーティリティで設定された別々のTCP ポートで実行されます。2010 年までは、 Twitter がこの構成の注目すべき例でしたが、その後Unicornに切り替えました。[ 3 ]
Mongrelは、他のWebサーバーを必要とせずにRuby on Railsで構築されたサイトを配信することができたが、シングルスレッドアプリケーションであるため、この構成は負荷の軽い場合以外には適していない。
オリジナル作者のZed Shaw がRuby on Railsシーン[ 4 ]を去った後、Mongrel のリリースは停止しました。現在のリリース 1.1.5 は、Rails 3 に推奨されている Ruby バージョン 1.9.2 より上のバージョンにはインストールできなくなりました。修正方法は、安定性のない、はるかに古い Mongrel のリリース 1.2.0-pre2 [ 5 ]を使用することです。
Thin [ 6 ]と呼ばれる新しい保守サーバーは、Mongrel パーサーを使用しています。Mongrel パーサーは、UnicornとPumaによってもフォークされています。