Phusion white papers Phusion overview

Phusion Passenger 2.0.5 released; mentioned on live.37signals.com

By Hongli Lai on December 5th, 2008

Phusion Passenger is an Apache module for deploying Ruby on Rails web applications, and is mainly focused on ease of use and stability. Since its first release in April 2008, it has gained quite a lot of attention from the Rails community, and nowadays it has become a very popular deployment tool.

We have recently been mentioned on live.37signals.com where David Heinemeier Hansson, creator of Ruby on Rails, has given his praise to Phusion Passenger. Not too long ago, 37signals switched Ta-da List to Phusion Passenger, and are now in the progress of switching more websites.
live.37signals.com isn’t broadcasting right now, but you can find recordings at justin.tv.

Recent changes

Phusion Passenger is under constant maintenance and development. We are pleased to announce Phusion Passenger version 2.0.5. This is mainly a bugfix release.

Fixed global queuing compatibility with the worker MPM
The global queuing feature that was introduced in version 2.0.4 was found to cause deadlocks when used in combination with the worker MPM of Apache. This problem only occurs when global queuing is used in combination with the worker MPM; users of the prefork MPM (i.e. most Apache users) are not affected.

This problem has been fixed.

Ruby on Rails 2.3’s Rack adapter now supported
Ruby on Rails 2.3 hasn’t been released yet, but we’ve already added support for it. In Rails 2.3, the old CGI-based dispatcher will be removed in favor of the new Rack-based dispatcher. Phusion Passenger will automatically use this new Rack-based dispatcher upon detecting Rails 2.3.
Fixed compilation problems with Ruby 1.8.7
The title says it all.
Various other bug fixes and stability improvements
These are too minor to mention in this announcement, but interested people can take a look at the commit list.

How do I upgrade to 2.0.5?

Via a gem

Please install it with the following command:

gem install passenger

Next, run:

passenger-install-apache2-module

Please don’t forget to copy & paste the Apache config snippet that the installer gives you.

Via a native Linux package

John Leach from Brightbox has kindly provided an Ubuntu 8.04 package 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:

apt-get install libapache2-mod-passenger

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

Final

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

Hongli Lai Ninh Bui
  • Pingback: Brightbox Blog - Ruby on Rails Hosting - Passenger 2.0.5 packages for Ubuntu()

  • mdkail

    i just ran ‘gem install passenger’ and am still only getting the 2.0.4 version

  • http://blog.noizeramp.com Aleksey Gureiev

    Sorry to tell. Not working for me. Upgraded from 2.0.5 and got dead Apache immediately. Every request to a Rails app ended with the following error in the Apache log. Hope it helps to resolve the problem:

    Passenger spawn server: symbol lookup error: /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/ext/passenger/native_support.so: undefined symbol: RARRAY_LEN
    *** Exception NoMethodError in spawn manager (undefined method `[]’ for nil:NilClass) (process 21933):
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/railz/framework_spawner.rb:89:in `start’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/spawn_manager.rb:218:in `spawn_rails_application’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/spawn_manager.rb:213:in `synchronize’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/spawn_manager.rb:213:in `spawn_rails_application’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/spawn_manager.rb:122:in `spawn_application’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/spawn_manager.rb:247:in `handle_spawn_application’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/abstract_server.rb:317:in `__send__’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/abstract_server.rb:317:in `main_loop’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/lib/passenger/abstract_server.rb:168:in `start_synchronously’
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.0.5/bin/passenger-spawn-server:46
    [Fri Dec 05 18:31:56 2008] [error] [client xx.xx.xx.xx] *** Unexpected error in Passenger: Cannot spawn application ‘/u/xx/releases/20081205130826′: The spawn server has exited unexpectedly.

  • http://blog.noizeramp.com Aleksey Gureiev

    I meant “Upgraded from 2.0.4 …” certainly.

  • http://www.phusion.nl/ hongli

    Aleksey, you need Ruby 1.8.6 at least.

  • http://blog.noizeramp.com Aleksey Gureiev

    Ah, that explains it. Thanks for the hint!

    You probably need to place a warning somewhere, or better yet add a check to your build script before people pull all of their hair out. :)

    Thanks for a great tool and quick support!

  • http://hightechsorcery.com/ specialj

    Is there a site to file bug reports? I’ve noticed that with global queue on in both 2.0.4 and 2.0.5 while using apache prefork mpm that PassengerMaxPoolSize is not honored. This leads to interesting results with passenger-status such as this:

    ———– General information ———–
    max = 3
    count = 4
    active = 0
    inactive = 4
    Using global queue: yes
    Waiting on global queue: 0

    ———– Applications ———–
    /scrubbed:
    PID: 31625 Sessions: 0
    PID: 31619 Sessions: 0
    PID: 31621 Sessions: 0
    PID: 31623 Sessions: 0

  • http://www.phusion.nl/ hongli

    @specialj: Please file a bug report at the bug tracker linked from our website:
    http://www.modrails.com -> Development -> Issue Tracker

  • Pingback: Alban’s blog » Blog Archive » Debian packages for Phusion Passenger 2.0.5()

  • zachary

    In fact I just upgraded to 2.05 on regular ruby (non enterprise) and it works.

    Are there any special caveats using enterprise ruby that could lead to that unexpected error above?

    Thank you.

  • zachary

    Solved it myself.

    For some reason the passenger requires sqlite3-ruby to be installed if you are using enterprise ruby. But it doesnt care about the gem missing, if you are using regular ruby.

  • Niels Meersschaert

    I’m getting a similar issue to Aleksey on RHEL5. I have ruby 1.8.6 (2007-03-13 patchlevel 0). Is there a specific patch version of 1.8.6 that is required? I’d been using 2.04 on 1.8.5 with no issues.

  • Niels Meersschaert

    Same issues with the 114 patchlevel on RHEL5. (Works on Mac OS X 10.5.5 with 1.8.6p114)

  • Pingback: Phusion Passenger 2.0.5 now compatible with Edge Rails « ThisGlobe.com()

  • Pingback: Nova versão do mod_rails lançada « Guilherme Garnier()

  • Pingback: Nova versão do mod_rails lançada()