README in ebb-0.2.1 vs README in ebb-0.3.0

- old
+ new

@@ -1,60 +1,31 @@ +(this is only for HEAD - old docs are found in the git repo) + # A Web Server Called *Ebb* Ebb aims to be a small and fast web server specifically for hosting -dynamic web applications. It is not meant to be a full featured web server -like Lighttpd, Apache, or Nginx. Rather it should be used in multiplicity -behind a load balancer and a front-end server. It is not meant to serve static files in production. +dynamic Ruby language web applications. -At one level Ebb is a minimalist C library that ties together the -[Mongrel state machine](http://mongrel.rubyforge.org/browser/tags/rel_1-0-1/ext/http11/http11_parser.rl) -and [libev](http://software.schmorp.de/pkg/libev.html) event loop. One can use -this library to drive a web application written in C. (Perhaps for embedded -devices?) However, most people will be interested in the binding of this -library to the Ruby programming language. The binding provides a -[Rack](http://rack.rubyforge.org/) server interface that allows it to host -Rails, Merb, or other frameworks. +It is a binding to [libebb](http://tinyclouds.org/libebb) -A Python-WSGI binding is under development. - ## Install The Ruby binding is available as a Ruby Gem. It can be install by executing gem install ebb -Ebb depends on having glib2 headers and libraries installed. For example, in -Macintosh if one is using Darwin ports then the following should do the trick - - port install glib2 - -Downloads are available at -the [RubyForge project page](http://rubyforge.org/frs/?group_id=5640). +If you want SSL support you must install GnuTLS. +Ebb has no other dependencies. ## Running -Using the executable `ebb_rails` one can start Ebb with a Rails project. Use -`ebb_rails -h` to see all of the options but to start one can try +Use Ebb.start_server() - cd my_rails_project/ - ebb_rails start - -When using `ebb_rails` from monit, the monitrc entry might look like this: - - check process myApp4000 - with pidfile /home/webuser/myApp/current/tmp/ebb.4000.pid - start program = "/usr/bin/ruby /usr/bin/ebb_rails start -d -e production -p 4000 -P /home/webuser/myApp/current/tmp/ebb.4000.pid -c /home/webuser/myApp/current" as uid webuser and gid webuser - stop program = "/usr/bin/ruby /usr/bin/ebb_rails stop -P /home/webuser/myApp/current/tmp/ebb.4000.pid" as uid webuser and gid webuser - if totalmem > 120.0 MB for 2 cycles then restart - if loadavg(5min) greater than 10 for 8 cycles then restart - group myApp - -To use Ebb with a different framework you will have to do a small amount of -hacking at the moment! :) - ## Speed +(these stats are out of date) + Because Ebb handles most of the processing in C, it is able to do work often times more efficiently than other Ruby language web servers. ![Benchmark](http://s3.amazonaws.com/four.livejournal/20080311/ebb.png) @@ -73,17 +44,12 @@ The source code is hosted [github](http://github.com/ry/ebb/tree/master). It can be retrieved by executing git clone git://github.com/ry/ebb.git -Here are some features that I would like to add: -* HTTP 1.1 Expect/Continue (RFC 2616, sections 8.2.3 and 10.1.1) -* A parser for multipart/form-data (only for optimization - this functionality is currently handled at the framework level) -* Python binding - ## (The MIT) License -Copyright © 2008 [Ry Dahl](http://tinyclouds.org) (ry at tiny clouds dot org) +Copyright (c) 2008 [Ryah Dahl](http://tinyclouds.org) (ry at tiny clouds dot org) <div id="license"> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including