public
Description: Phusion Passenger (mod_rails)
Homepage: http://www.modrails.com/
Clone URL: git://github.com/FooBarWidget/passenger.git
Click here to lend your support to: passenger and make a donation at www.pledgie.com !
Hongli Lai (Phusion) (author)
Tue Apr 01 05:21:24 -0700 2008
commit  e5d8a7ca9a8b942873f8395c21410ad3afa41a3e
tree    9165a622d713a907c64fc832256f158fcef957ea
parent  a60f262fe38beda161024ee14f4387b2c3c73bdf
name age message
file .gitignore Sat Nov 15 03:34:59 -0800 2008 Update .gitignore and .snapopen_ignore [Hongli Lai (Phusion)]
file DEVELOPERS.TXT Sun Jun 22 05:13:21 -0700 2008 The tests need Rails 2.0.1, not Rails >= 2.0.1. [Hongli Lai (Phusion)]
file LICENSE Wed Jul 09 02:59:09 -0700 2008 Fix typo in license text. [Hongli Lai (Phusion)]
file README Fri Jun 13 23:12:14 -0700 2008 Update installation instructions: tell people t... [Hongli Lai (Phusion)]
file Rakefile Sat Nov 22 08:26:49 -0800 2008 Various refactorings and improvements. [Hongli Lai (Phusion)]
directory benchmark/ Mon Aug 18 04:46:38 -0700 2008 Fix the dispatcher benchmark program. [Hongli Lai (Phusion)]
directory bin/ Thu Nov 20 09:08:17 -0800 2008 Remove dead code. [Hongli Lai (Phusion)]
directory doc/ Mon Nov 24 11:35:50 -0800 2008 Update the Sinatra configuration example as sug... [Hongli Lai (Phusion)]
directory ext/ Mon Nov 24 03:22:40 -0800 2008 Minor interface fixes in StandardApplicationPool. [Hongli Lai (Phusion)]
directory lib/ Mon Dec 01 05:17:00 -0800 2008 Fix a typo in the APU detection code. Fixes bug... [Hongli Lai (Phusion)]
directory misc/ Mon May 19 03:34:40 -0700 2008 Improve the Boost copying script: don't overwri... [Hongli Lai (Phusion)]
directory test/ Sat Nov 22 09:23:03 -0800 2008 Add a unit test for ApplicationPool's MaxPerApp... [Hongli Lai (Phusion)]
README
== Introduction

Passenger is an Apache module, which makes deploying Ruby on Rails applications
on Apache a breeze. It follows the usual Ruby on Rails conventions, such as
"Don't-Repeat-Yourself" and ease of setup. Passenger's key goals are:

[ Ease of use (for the developer) ]
  Deploying a Rails application is as easy as uploading the files to the web
  server. The applications should _Just Work(tm)_ without any further manual
  configurations.

[ Ease of installation ]
  It is possible to install Passenger in less than 3 minutes, with minimal
  reading of documentation. The system administrator should not have to edit
  30 configuration files to get Passenger working.

[ Stability ]
  We strive for the highest level of stability. Passenger should never crash,
  and should never leave Apache into an unusable state which requires a
  restart.

[ Zero maintenance ]
  Software that is the easiest to maintain is software that doesn't have to be
  maintained. Just like a (train) passenger, who can step into a train and
  enjoy the trip, Passenger strives to allow the developer and system
  administrator to sit back, enjoy, and relax.
  
  * Ruby on Rails applications are started and stopped automatically based on
    site traffic. There should be no need to think about application server
    management.
  * Passenger makes no use of temporary files or sockets, so even after a hard
    system crash, the administrator does not have to manually clean up stale
    files. *
    
    <em>* This is only possible on Linux. On systems such as BSD, Passenger
    falls back to using temporary Unix sockets.</em>
  * If Passenger encounters an error, and it knows that it can be automatically
    recovered, then Passenger will do that. The administrator should not have
    to run server monitoring software to monitor Rails applications. Rails
    applications that crash are automatically restarted.

[ Security ]
  We take security very seriously. We review our code for security issues to
  the best of our ability. Design- and implementation issues that have security
  implications are carefully documented, making it possible for third parties to
  review Passenger's security, in the true spirit in Open Source.
  
  A key security feature of Passenger is the ability to run different Ruby on
  Rails applications under different users, in an efficient manner. This is
  perfect for shared hosts. And in the line of ease of installation, this can
  be done automatically without any further need for configuration.

[ Performance ]
  Performance is an important issue, so we strive for the highest possible
  performance. We use the performance of Mongrel, a popular Ruby on Rails
  application server, as our performance base line. We carefully consider every
  aspect of Passenger, and under no circumstances must Passenger perform
  significantly worse than Mongrel.

[ Efficient resource usage ]
  Unlike other Ruby on Rails deployment systems, Passenger makes efficient use
  of memory when possible. Passenger allows different Ruby on Rails
  applications to share memory with each other, resulting in as much of 30%
  memory saving on average. *
  
  <em>* This requires additional software. Please read the users guide for
  information. Please visit our website for technical details and
  measurements.</em>

[ Well-documented ]
  We know that documentation is of great importance to everybody. We put a
  great deal of effort into documenting Passenger, for system administrators
  who use Passenger, as well as developers who want to contribute to Passenger.


== Welcome, beta tester

Since Passenger hasn't been released yet, if you're reading this, then you must
be a beta tester. :) We only ask of you not to give out this software to
others. Even though it's going to be open source, we want the first release to
leave a good - no, GREAT - impression. Leaking an unfinished beta will likely
spoil peoples' first impression. Thank you for your understanding.

We're pretty confident that the current version is pretty stable: we have lots
of tests, and we've even tested the insertion of random errors, and so far we
haven't been able to make it crash. But we're not done yet, and there is a lot
more to test before we're confident enough that it can be released to the
public.


== Installation

Run the following script as root:

 ./bin/passenger-install-apache2-module

That's it. :) For troubleshooting, configuration and tips, please read the
file 'doc/Users guide.html'.