public
Description: A very fast & simple Ruby web server
Homepage: http://code.macournoyer.com/thin/
Clone URL: git://github.com/macournoyer/thin.git
Search Repo:
macournoyer (author)
Tue Jan 22 21:47:06 -0800 2008
commit  038740f29eed799ce7c879bedf321fe83be1e496
tree    cd225cd2e9ddfa87360e7862c08b5a6d56e664a4
parent  57eceafee8354b99f06a6bcb29bceb02e863fc9e
thin /
name age message
folder .gitignore Mon Jan 21 14:18:17 -0800 2008 ignore mac finder files, change constant to all... [kevwil]
folder CHANGELOG Tue Jan 22 12:01:52 -0800 2008 Server can now yield a Rack::Builder to allow b... [macournoyer]
folder COMMITTERS Wed Jan 16 23:15:01 -0800 2008 sync with main repo, tweak rakefile(s) again fo... [kevwil]
folder COPYING Wed Jan 09 19:29:16 -0800 2008 Add some thing to do [macournoyer]
folder README Sat Jan 19 19:03:18 -0800 2008 Doc fix and update README [macournoyer]
folder Rakefile Mon Jan 21 14:18:17 -0800 2008 ignore mac finder files, change constant to all... [kevwil]
folder benchmark/ Thu Jan 17 20:59:52 -0800 2008 Add script to benchmarks against previous Thin ... [macournoyer]
folder bin/ Mon Jan 21 21:30:03 -0800 2008 Add a very basic stats page through Stats adapt... [macournoyer]
folder client.rb Tue Jan 22 21:47:06 -0800 2008 Prototyping a load balancer [macournoyer]
folder doc/ Sun Dec 16 15:28:13 -0800 2007 Update benchmarks and web site [macournoyer]
folder example/ Tue Jan 22 06:32:26 -0800 2008 Add a example adapter. [macournoyer]
folder ext/ Sat Jan 05 05:26:21 -0800 2008 Fix parser to be Ruby 1.9 compatible [Aman Gupta] [macournoyer]
folder lib/ Tue Jan 22 12:01:52 -0800 2008 Server can now yield a Rack::Builder to allow b... [macournoyer]
folder server.rb Tue Jan 22 21:47:06 -0800 2008 Prototyping a load balancer [macournoyer]
folder site/ Sat Jan 19 19:03:18 -0800 2008 Doc fix and update README [macournoyer]
folder spec/ Tue Jan 22 12:01:52 -0800 2008 Server can now yield a Rack::Builder to allow b... [macournoyer]
folder tasks/ Sun Jan 20 13:48:48 -0800 2008 Improve specs stability. [macournoyer]
README
== Thin
Tiny, fast & funny HTTP server

Thin is a Ruby web server that glues together 3 of the best Ruby libraries in web history:
 * the Mongrel parser: the root of Mongrel speed and security
 * Event Machine: a network I/O library with extremely high scalability, performance and stability
 * Rack: a minimal interface between webservers and Ruby frameworks
Which makes it, with all humility, the most secure, stable, fast and extensible Ruby web server
bundled in an easy to use gem for your own pleasure.

=== Installation
For the latest stable version:

 sudo gem install thin

or using my mirror (might be more recent and unstable):

 sudo gem install thin --source http://code.macournoyer.com

Or from source:

 git clone git://github.com/macournoyer/thin.git
 cd thin
 rake install

=== Usage
A +thin+ script is offered to easily start your Rails application:

 cd to/your/rails/app
 thin start

But Thin is also usable through Rack +rackup+ command.
You need to setup a config.ru file and require thin in it:
  
 cat <<EOS
 require 'thin'
 
 app = proc do |env|
  [
    200,
    {
      'Content-Type' => 'text/html',
      'Content-Length' => '2'
    },
    ['hi']
  ]
 end
 
 run app
 EOS
 rackup -s thin
 
See example/config.ru for details and rackup -h

=== License
Ruby License, http://www.ruby-lang.org/en/LICENSE.txt.

=== Credits
The parser was stolen from Mongrel http://mongrel.rubyforge.org by Zed Shaw.
Mongrel Web Server (Mongrel) is copyrighted free software by Zed A. Shaw
<zedshaw at zedshaw dot com> You can redistribute it and/or modify it under
either the terms of the GPL.

Thin is copyright Marc-Andre Cournoyer <macournoyer@gmail.com>

Get help at http://groups.google.com/group/thin-ruby/
Report bugs at http://thin.lighthouseapp.com/projects/7212-thin
and major security issues directly to a team member (see COMMITTERS)