Merge branch 'master' of git@github.com:macournoyer/thin
[thin.git] / README
blob11a9ef216b98950a1bd3b8ce98584e0bddd9b074
1 == Thin
2 Tiny, fast & funny HTTP server
4 Thin is a Ruby web server that glues together 3 of the best Ruby libraries in web history:
5  * the Mongrel parser: the root of Mongrel speed and security
6  * Event Machine: a network I/O library with extremely high scalability, performance and stability
7  * Rack: a minimal interface between webservers and Ruby frameworks
8 Which makes it, with all humility, the most secure, stable, fast and extensible Ruby web server
9 bundled in an easy to use gem for your own pleasure.
11 === Installation
12 For the latest stable version:
14  sudo gem install thin
16 or using my mirror (might be more recent and unstable):
18  sudo gem install thin --source http://code.macournoyer.com
20 Or from source:
22  git clone git://github.com/macournoyer/thin.git
23  cd thin
24  rake install
26 === Usage
27 A +thin+ script is offered to easily start your Rails application:
29  cd to/your/rails/app
30  thin start
32 But Thin is also usable through Rack +rackup+ command.
33 You need to setup a config.ru file and require thin in it:
34   
35  cat <<EOS
36  require 'thin'
38  app = proc do |env|
39   [
40     200,
41     {
42       'Content-Type' => 'text/html',
43       'Content-Length' => '2'
44     },
45     ['hi']
46   ]
47  end
49  run app
50  EOS
51  rackup -s thin
53 See example/config.ru for details and rackup -h
55 === License
56 Ruby License, http://www.ruby-lang.org/en/LICENSE.txt.
58 === Credits
59 The parser was stolen from Mongrel http://mongrel.rubyforge.org by Zed Shaw.
60 Mongrel Web Server (Mongrel) is copyrighted free software by Zed A. Shaw
61 <zedshaw at zedshaw dot com> You can redistribute it and/or modify it under
62 either the terms of the GPL.
64 Thin is copyright Marc-Andre Cournoyer <macournoyer@gmail.com>
66 Get help at http://groups.google.com/group/thin-ruby/
67 Report bugs at http://thin.lighthouseapp.com/projects/7212-thin
68 and major security issues directly to a team member (see COMMITTERS)