fauna / mongrel
- Source
- Commits
- Network (3)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
rel_1-0-1
evanweaver (author)
Thu Oct 25 20:32:46 -0700 2007
mongrel /
| name | age | message | |
|---|---|---|---|
| |
COPYING | Fri Jun 30 13:42:12 -0700 2006 | |
| |
LICENSE | Fri Jun 30 13:42:12 -0700 2006 | |
| |
README | ||
| |
Rakefile | ||
| |
bin/ | ||
| |
doc/ | ||
| |
examples/ | Sat Jun 17 21:57:26 -0700 2006 | |
| |
ext/ | ||
| |
lib/ | ||
| |
projects/ | ||
| |
setup.rb | Mon Apr 10 11:56:16 -0700 2006 | |
| |
test/ | ||
| |
tools/ |
README
= Mongrel: Simple Fast Mostly Ruby Web Server Mongrel is a small library that provides a very fast HTTP 1.1 server for Ruby web applications. It is not particular to any framework, and is intended to be just enough to get a web application running behind a more complete and robust web server. What makes Mongrel so fast is the careful use of a C extension to provide fast HTTP 1.1 protocol parsing and fast URI lookup. This combination makes the server scream without too many portability issues. You can view http://mongrel.rubyforge.org for more information. == Quick Start After you've installed (either with gem install mongrel or via source) you should have the mongrel_rails command available in your PATH. Then you just do the following: > cd myrailsapp > mongrel_rails start This will start it in the foreground so you can play with it. It runs your application in production mode. To get help do: > mongrel_rails start -h Finally, you can then start in background mode (probably won't work in win32): > mongrel_rails start -d And you can stop it whenever you like with: > mongrel_rails stop All of which should be done from your application's directory. It writes the PID of the process you ran into log/mongrel.pid. There are also many more new options for configuring the rails runner including changing to a different directory, adding more MIME types, and setting processor threads and timeouts. == Install It doesn't explicitly require Camping, but if you want to run the examples/camping/ examples then you'll need to install Camping 1.2 at least (and redcloth I think). These are all available from RubyGems. The library consists of a C extension so you'll need a C compiler or at least a friend who can build it for you. Finally, the source includes a setup.rb for those who hate RubyGems. == Usage The examples/simpletest.rb file has the following code as the simplest example: require 'mongrel' class SimpleHandler < Mongrel::HttpHandler def process(request, response) response.start(200) do |head,out| head["Content-Type"] = "text/plain" out.write("hello!\n") end end end h = Mongrel::HttpServer.new("0.0.0.0", "3000") h.register("/test", SimpleHandler.new) h.register("/files", Mongrel::DirHandler.new(".")) h.run.join If you run this and access port 3000 with a browser it will say "hello!". If you access it with any url other than "/test" it will give a simple 404. Check out the Mongrel::Error404Handler for a basic way to give a more complex 404 message. This also shows the DirHandler with directory listings. This is still rough but it should work for basic hosting. *File extension to mime type mapping is missing though.* == Contact E-mail zedshaw at zedshaw.com and I'll help. Comments about the API are welcome.

