Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Unofficial Unicorn Mirror.

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 ext
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .document
Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGELOG
Octocat-spinner-32 CONTRIBUTORS
Octocat-spinner-32 DESIGN
Octocat-spinner-32 GNUmakefile
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Manifest
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile
Octocat-spinner-32 SIGNALS
Octocat-spinner-32 TODO
Octocat-spinner-32 setup.rb
= Unicorn: UNIX + LAN/localhost-only fork of Mongrel

Only run this behind a full-HTTP-request-buffering reverse proxy if
you're serving slow clients.  That said, nginx is the only reverse
proxy we know of that meets this requirement.

== Features

* process management: Unicorn will reap and restart workers that
  die because of broken apps and there is no need to manage
  multiple processes yourself.

* does not care if your application is thread-safe or not, workers
  all run within their own isolated address space and only serve one
  client at a time...

* able to listen on multiple interfaces, including UNIX sockets,
  each worker process can also bind to a private port via the
  after_fork hook for easy debugging.

* supports all Rack applications

* nginx-style binary re-execution without losing connections.
  You can upgrade unicorn, your entire application, libraries
  and even your Ruby interpreter as long as unicorn is
  installed in the same path.

* before_fork and after_fork hooks in case your application
  has special needs when dealing with forked processes.

* builtin log rotation via USR1 signal

* Ruby 1.9-compatible (at least the test cases all pass :>)

== License

Unicorn is copyright 2009 Eric Wong and contributors.
It is based on Mongrel:

Mongrel is copyright 2007 Zed A. Shaw and contributors. It is licensed
under the Ruby license and the GPL2. See the include LICENSE file for

== Install

The library consists of a C extension so you'll need a C compiler or at
least a friend who can build it for you.

Finally, the source includes a setup.rb for those who hate RubyGems.

You can get the source via git via the following locations:


== Usage

Unicorn will look for the file used by rackup in APP_ROOT.
Optionally, it can use a config file specified by the --config-file/-c
command-line switch.

Unicorn should be capable of running all Rack applications.  Since this
is a preforking webserver, you do not have to worry about thread-safety
of your application or libraries. However, your Rack application may use
threads internally (and should even be able to continue running threads
after the request is complete).

== Contact

Newsgroup and mailing list coming, or it'll be a part of the Mongrel project...

Email Eric Wong at for now.
Something went wrong with that request. Please try again.