Phusion white papers Phusion overview

Phusion Passenger 3.0.4 released

By Hongli Lai on March 2nd, 2011

Phusion Passenger is an Apache and Nginx module for deploying Ruby web applications. It has a strong focus on ease of use, stability and performance. Phusion Passenger is built on top of tried-and-true, battle-hardened Unix technologies, yet at the same time introduces innovations not found in most traditional Unix servers. Since version 3.0 it can also run standalone without an external web server, making it not only easier for first-time users but also ideal on development environments.

Recent changes

Phusion Passenger is under constant maintenance and development. We are pleased to announce Phusion Passenger version 3.0.4. This is a bug fix release.

  • [Apache] Changed mod_dir workaround hook priority
    Phusion Passenger temporarily disables mod_dir on all Phusion Passenger-handled requests in order to avoid conflicts. In order to do this it registers some Apache hooks with the APR_HOOK_MIDDLE priority, but it turned out that this breaks some other modules like mod_python. The hook priority has been changed to APR_HOOK_LAST to match mod_dir’s hook priorities. Issue reported by Jay Freeman.
  • Added support for Union Station.
    Union Station is our new web application performance monitoring and behavior analysis service. Read more about it at the announcement.

  • Some error messages have been improved.

How do I upgrade to 3.0.4?

Via a gem

First install the gem with the following command:

gem install passenger

If you’re using Phusion Passenger for Apache or for Nginx, then re-run the Apache or Nginx module installer, whichever is appropriate:

passenger-install-apache2-module
passenger-install-nginx-module

At the end the installer will tell you to paste a configuration snippet into your web server config file. Replace the old snippet that you already had with this new one.

Phusion Passenger Standalone users don’t need to run anything else. Whenever you type

passenger start

it will automatically upgrade itself.

Via Ubuntu packages

John Leach from Brightbox has kindly provided Ubuntu packages for Phusion Passenger. The package is available from the Brightbox repository which you can find at:

http://apt.brightbox.net

Add the following line to the Third Party Software Sources:

deb http://apt.brightbox.net hardy main

(The simplest way to do that is to create a file in /etc/apt/sources.list.d/ containing the deb instruction, and then run ‘apt-get update’).

Once you’ve done this then you can install Phusion Passenger by running:

sudo apt-get install libapache2-mod-passenger

-or-

sudo apt-get install nginx-brightbox

(Note that John is currently packaging 3.0.4, so it might take a while before this release shows up in the apt repository.)

Via RedHat/CentOS packages

YUM repositories with RPMs are maintained by Erik Ogan and Stealthy Monkeys Consulting. Please note that Erik is currently packaging 3.0.4, so it might take a while before this release shows up in the yum repositories.

Step 1: install the release package

The easiest way to install Phusion Passenger and keep it up to date is to install the passenger-release package from the main repository:

Fedora Core 14:

rpm -Uvh http://passenger.stealthymonkeys.com/fedora/14/passenger-release.noarch.rpm

Fedora Core 13:

rpm -Uvh http://passenger.stealthymonkeys.com/fedora/13/passenger-release.noarch.rpm

RHEL 5 / CentOS 5 / ScientificLinux 5:
(Note: these packages depend on EPEL.)

rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm

RHEL 6 / CentOS 6 / ScientificLinux 6:
These packages will be available as soon as there is a stable beta of either CentOS 6 or SL 6 to use as a build platform.

Step 2: use Yum

From there you can use Yum to install packages. For example, try one of these:

yum install nginx-passenger

or

yum install mod_passenger

or

yum install passenger-standalone

Building your own packages

There are instructions for building your own packages and Yum repositories in the rpm directory ReadMe within the GitHub repository.

Final

Phusion Passenger is provided to the community for free. If you like Phusion Passenger, please consider sending us a donation. Thank you!

  • Phil

    Getting a lot of Logging agent crashes with 3.0.4, never happened with 3.0.2.

    Environment is FreeBSD 8.2, Apache 2.2.11, REE 1.8.7-2010.02, Mix of Rack and Rails 2.3 apps.

    [ pid=91322 thr=0x80100ae40 file=ext/common/Watchdog.cpp:141 time=2011-03-03 09:28:22.826 ]: Phusion Passenger logging agent crashed with signal SIGSEGV, restarting it…
    [ pid=91322 thr=0x80100ae40 file=ext/common/Watchdog.cpp:141 time=2011-03-03 09:28:38.482 ]: Phusion Passenger logging agent crashed with signal SIGSEGV, restarting it…

  • Phil

    ktrace indicates it’s a problem submitting stuff to Union Station, I’ll file a Bug report somewhere and see if I can get a core from it.

  • Gregory

    Sorry, but it does not make any sense to use these CentOS packages for passenger. CentOS 5.5 come with Ruby 1.8.5 and updating Ruby to 1.9.2 with an RPM package would anyway break Passenger packages. I am not criticizing Erik’s work, just saying that it’s not working at all on CentOS unless one can agree use default Ruby 1.8.5.

  • http://yo61.com/blog Robin Bowes

    @Gregory – ruby-1.8.6.383-6 is available here:

    http://centos.karan.org/el5/misc/testing/x86_64/RPMS/

    Or, add the repo to /etc/yum.repos.d:

    http://centos.karan.org/kbsingh-CentOS-Misc.repo

    and run:

    yum –enablerepo=kbs-CentOS-Misc-Testing update ruby

    Erik’s rpms work just fine with this ruby version.