remove Configurator and use Rainbows! block
[rainbows.git] / README
blob14ba50434f23d5a41075475db8ea524acf6914db
1 = Rainbows: Unicorn for Comet and slow clients
3 Rainbows is a HTTP server for {Rack}[http://rack.rubyforge.org/]
4 applications.  It is based on {Unicorn}[http://unicorn.bogomips.org/],
5 but designed to handle applications that expect long request/response
6 times and/or slow clients.  It is designed for Comet applications and
7 reverse proxy implementations.  For Rack applications not heavily
8 bound by external dependencies, consider Unicorn instead as it simpler
9 and easier to debug.
11 == Features
13 * Designed for Rack, the standard for modern Ruby HTTP applications.
15 * Built on Unicorn, inheriting its process/socket management features
16   such as transparent upgrades and Ruby configuration DSL.
18 * Like Unicorn, it is able to stream large request bodies off the
19   socket to the application while the client is still uploading.
21 * Combines heavyweight concurrency (worker processes) with lightweight
22   concurrency (Actors/Threads), allowing CPU/memory/disk to be scaled
23   independently of client connections.
25 == License
27 Rainbows is copyright 2009 Eric Wong and contributors.  It is based on
28 Mongrel and Unicorn and carries the same license.
30 Mongrel is copyright 2007 Zed A. Shaw and contributors. It is licensed
31 under the Ruby license and the GPL2. See the included LICENSE file for
32 details.
34 Rainbows is 100% Free Software.
36 == Usage
38 === for Rack applications
40 In APP_ROOT (where config.ru is located), run:
42   rainbows
44 Rainbows will bind to all interfaces on TCP port 8080 by default.
46 === Configuration File(s)
48 Rainbows will look for the config.ru file used by rackup in APP_ROOT.
50 For deployments, it can use a config file for Rainbows-specific options
51 specified by the +--config-file/-c+ command-line switch.  See
52 Rainbows::Configurator for the syntax of the Rainbows-specific options.
54 == Disclaimer
56 There is NO WARRANTY whatsoever if anything goes wrong, but let us know
57 and we'll try our best to fix it.
59 == Contact
61 All feedback (bug reports, user/development dicussion, patches, pull
62 requests) go to the mailing list/newsgroup.  Patches must be sent inline
63 (git format-patch -M + git send-email).  No subscription is necessary
64 to post on the mailing list.  No top posting.  Address replies +To:+ (or
65 +Cc:+) the original sender and +Cc:+ the mailing list.
67 * email: mailto:rainbows-talk@rubyforge.org
68 * archives: http://rubyforge.org/pipermail/rainbows-talk
69 * subscribe: http://rubyforge.org/mailman/listinfo/rainbows-talk