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)
Wed Apr 02 03:43:50 -0700 2008
commit  a2d694020d18952f5a6586a49f23fa8bdda9e9fe
tree    2a01c466eb1bf39ef71e452533984585d88d1a65
parent  cd086d6a21cf7f5f89ec82a5fb137dbdad960699
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 Thu Nov 20 02:35:15 -0800 2008 Fix identation. [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/ Thu Nov 20 05:07:03 -0800 2008 Fix a possible invariant violation in the appli... [Hongli Lai (Phusion)]
directory ext/ Fri Nov 21 11:27:04 -0800 2008 Add OXT system call wrappers for socket() and c... [Hongli Lai (Phusion)]
directory lib/ Sat Nov 22 04:02:13 -0800 2008 A previous JRuby compatibility fix broke catchi... [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/ Thu Nov 20 14:05:47 -0800 2008 Add ability for backend processes to respond to... [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'.