Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A very fast & simple Ruby web server
Ruby C Other
Pull request Compare This branch is 3 commits ahead, 133 commits behind macournoyer:master.
Failed to load latest commit information.
benchmark lib/thin should expect lib/ to already be in the $LOAD_PATH. scripts …
bin
example Restart thins one by one.
ext/thin_parser Accept IE7 badly encoded URL (eg.: %uEEEE)
lib Add Stripe version number
script lib/thin should expect lib/ to already be in the $LOAD_PATH. scripts …
site Add some more users to the site.
spec Remove warnings in specs.
tasks Merge pull request #49 from phiggins/fix_tests_for_192
.gitignore Ignore generated files (no matter where)
.travis.yml Basic travis-ci.org setup
CHANGELOG Remove mack and halcyon Rack adapters from automatic detection.
Gemfile Add Stripe EM fork to Gemfile
README.md fixing some of formatting
Rakefile Only load what is needed in Rakefile.

README.md

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.

Site:  http://code.macournoyer.com/thin/
Group: http://groups.google.com/group/thin-ruby/topics
Bugs:  http://thin.lighthouseapp.com/projects/7212-thin
Code:  http://github.com/macournoyer/thin
IRC:   #thin on freenode

Installation

For the latest stable version:

sudo gem install thin

Or from source:

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

Usage

A +thin+ script offers an easy way to start your Rails application:

cd to/your/rails/app
thin start

But Thin is also usable with a Rack config file. You need to setup a config.ru file and pass it to the thin script:

#cat config.ru
app = proc do |env|
 [
   200,
   {
     'Content-Type' => 'text/html',
     'Content-Length' => '2'
   },
   ['hi']
 ]
end

run app

thin start -R config.ru

See example directory for more samples and run 'thin -h' for usage.

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 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)

Something went wrong with that request. Please try again.