1 = Unicorn: UNIX + LAN/localhost-only fork of Mongrel
3 Only run this behind a full-HTTP-request-buffering reverse proxy if
4 you're serving slow clients. That said, nginx is the only reverse
5 proxy we know of that meets this requirement.
9 * process management: Unicorn will reap and restart workers that
10 die because of broken apps and there is no need to manage
11 multiple processes yourself.
13 * does not care if your application is thread-safe or not, workers
14 all run within their own isolated address space and only serve one
17 * able to listen on multiple interfaces, including UNIX sockets,
18 each worker process can also bind to a private port via the
19 after_fork hook for easy debugging.
21 * supports all Rack applications
23 * nginx-style binary re-execution without losing connections.
24 You can upgrade unicorn, your entire application, libraries
25 and even your Ruby interpreter as long as unicorn is
26 installed in the same path.
28 * before_fork and after_fork hooks in case your application
29 has special needs when dealing with forked processes.
31 * builtin log rotation via USR1 signal
33 * Ruby 1.9-compatible (at least the test cases all pass :>)
37 Unicorn is copyright 2009 Eric Wong and contributors.
38 It is based on Mongrel:
40 Mongrel is copyright 2007 Zed A. Shaw and contributors. It is licensed
41 under the Ruby license and the GPL2. See the include LICENSE file for
46 The library consists of a C extension so you'll need a C compiler or at
47 least a friend who can build it for you.
49 Finally, the source includes a setup.rb for those who hate RubyGems.
51 You can get the source via git via the following locations:
53 git://git.bogomips.org/unicorn.git
55 http://git.bogomips.org/unicorn.git
59 Unicorn will look for the config.ru file used by rackup in APP_ROOT.
60 Optionally, it can use a config file specified by the --config-file/-c
63 Unicorn should be capable of running all Rack applications. Since this
64 is a preforking webserver, you do not have to worry about thread-safety
65 of your application or libraries. However, your Rack application may use
66 threads internally (and should even be able to continue running threads
67 after the request is complete).
71 Newsgroup and mailing list coming, or it'll be a part of the Mongrel project...
73 Email Eric Wong at normalperson@yhbt.net for now.