1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@798 19e92222-5c0b-0410-8929-a290d50e31e9
This commit is contained in:
evanweaver 2007-10-27 08:58:39 +00:00
parent c407edf01e
commit dd5986eed7

66
README
View file

@ -1,60 +1,53 @@
= Mongrel: Simple Fast Mostly Ruby Web Server = Mongrel: Simple Fast Mostly Ruby Web Server
Mongrel is a small library that provides a very fast HTTP 1.1 server for Ruby 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.
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 What makes Mongrel so fast is the careful use of an Ragel extension to provide fast, accurate HTTP 1.1 protocol parsing. This makes the server scream without too many portability issues.
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. See http://mongrel.rubyforge.org for more information.
== License
Mongrel is copyright 2007 Zed A. Shaw and contributors. It is licensed under the Ruby license and the GPL2. See the include LICENSE file for details.
== Quick Start == Quick Start
After you've installed (either with gem install mongrel or via source) you should The easiest way to get started with Mongrel is to install it via RubyGems and then run a Ruby on Rails application. You can do this easily:
have the mongrel_rails command available in your PATH. Then you just do the following:
> cd myrailsapp $ gem install mongrel
> mongrel_rails start
This will start it in the foreground so you can play with it. It runs your application Now you should have the mongrel_rails command available in your PATH, so just do the following:
in production mode. To get help do:
> mongrel_rails start -h $ cd myrailsapp
$ mongrel_rails start
Finally, you can then start in background mode (probably won't work in win32): 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 -d $ mongrel_rails start -h
Finally, you can then start in background mode:
$ mongrel_rails start -d
And you can stop it whenever you like with: And you can stop it whenever you like with:
> mongrel_rails stop $ mongrel_rails stop
All of which should be done from your application's directory. It writes the All of which should be done from your application's directory. It writes the PID of the process you ran into log/mongrel.pid.
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.
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 == Install
It doesn't explicitly require Camping, but if you want to run the examples/camping/ 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.
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 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.
who can build it for you.
Finally, the source includes a setup.rb for those who hate RubyGems. Finally, the source includes a setup.rb for those who hate RubyGems.
== Usage == Usage
The examples/simpletest.rb file has the following code as the simplest The examples/simpletest.rb file has the following code as the simplest example:
example:
require 'mongrel' require 'mongrel'
@ -72,15 +65,10 @@ example:
h.register("/files", Mongrel::DirHandler.new(".")) h.register("/files", Mongrel::DirHandler.new("."))
h.run.join h.run.join
If you run this and access port 3000 with a browser it will say 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.
"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 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.*
rough but it should work for basic hosting. *File extension to mime
type mapping is missing though.*
== Contact == Contact
E-mail zedshaw at zedshaw.com and I'll help. Comments about the API are welcome. E-mail the Mongrel list at http://rubyforge.org/mailman/listinfo/mongrel-users and someone will help you. Comments about the API are welcome.