Phusion white papers Phusion overview

Phusion Passenger 4.0.8 released

By Hongli Lai on July 9th, 2013


Phusion Passenger is a fast and robust web server and application server for Ruby, Python and Node.js. It works by integrating into Apache and Nginx and turning them into a fully-featured application server. It has high-profile users such as New York Times, AirBnB, Symantec, Pixar, etc, and comes with many features that make your life easier and your application perform better.

Phusion Passenger is under constant maintenance and development. Version 4.0.8 is a bugfix releases.

Phusion Passenger also has an Enterprise version which comes with a wide array of additional features. By buying Phusion Passenger Enterprise you will directly sponsor the development of the open source version.

Recent changes

  • Fixed a problem with graceful web server restarts. When you gracefully
    restart the web server, it would cause Phusion Passenger internal sockets
    to be deleted, thus causing Phusion Passenger to go down. This problem
    was introduced in 4.0.6 during the attempt to fix issue #910.
  • The PassengerRestartDir/passenger_restart_dir now accepts relative
    filenames again, just like in Phusion Passenger 3.x. Patch
    contributed by Ryan Schwartz.
  • Documentation updates contributed by Gokulnath Manakkattil.
  • [Enterprise] Fixed a license key checking issue on some operating systems,
    such as CentOS 6.

Installing 4.0.8

Quick install/upgrade

Phusion Passenger Enterprise users can download the Enterprise version of 4.0.8 from the Customer Area.

Open source users can install the open source version of 4.0.8 with the following commands:

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

You can also download the tarball at the Release Archive page. We strongly encourage you to cryptographically verify files after downloading them.

In-depth instructions

In-depth installation and upgrade instructions can be found in the Installation section of the documentation. The documentation covers:

  • Detailed tarball installation instructions.
  • Detailed upgrade instructions.
  • Installation troubleshooting.
  • Installation through APT and YUM.

You can view the documentation online here:

Final

Phusion Passenger’s core is open source. Please fork or watch us on Github. :)

If you would like to stay up to date with Phusion news, please fill in your name and email address below and sign up for our newsletter. We won’t spam you, we promise.



  • http://blog.gingerlime.com/ Yoav Aner

    We’ve tried to upgrade from 3.0.19 to 4.0.8 today, and after a while it seems like passenger processes become zombie and aren’t recycled or killed properly…

    We see (many of) these errors in the apache error.log file:

    Could not spawn process for group /home/rails/tracker/current#default: Read timeout

    in ‘Passenger::ApplicationPool2::SmartSpawner::SpawnResult Passenger::ApplicationPool2::SmartSpawner::sendSpawnCommand(const Passenger::ApplicationPool2::Options&)’ (SmartSpawner.h:610)

    in ‘virtual Passenger::ApplicationPool2::ProcessPtr Passenger::ApplicationPool2::SmartSpawner::spawn(const Passenger::ApplicationPool2::Options&)’ (SmartSpawner.h:748)

    in ‘void Passenger::ApplicationPool2::Group::spawnThreadRealMain(const SpawnerPtr&, const Passenger::ApplicationPool2::Options&, unsigned int)’ (Implementation.cpp:710)

    [ 2013-07-10 17:51:37.3522 4525/7f69c8c98700 Pool2/Implementation.cpp:1182 ]: [App 13345 stderr] /var/lib/gems/1.9.1/gems/passenger-4.0.8/lib/phusion_passenger/preloader_shared_helpers.rb:69:in `write’

    [ 2013-07-10 17:51:37.5747 4525/7f69c8c98700 Pool2/Implementation.cpp:1182 ]: [App 13345 stderr] : Broken pipe (Errno::EPIPE)

    [ 2013-07-10 17:51:37.5748 4525/7f69c8c98700 Pool2/Implementation.cpp:1182 ]: [App 13345 stderr] from /var/lib/gems/1.9.1/gems/passenger-4.0.8/lib/phusion_passenger/preloader_shared_helpers.rb:69:in `puts’

    [ 2013-07-10 17:51:37.5748 4525/7f69c8c98700 Pool2/Implementation.cpp:1182 ]: [App 13345 stderr] from /var/lib/gems/1.9.1/gems/passenger-4.0.8/lib/phusion_passenger/preloader_shared_helpers.rb:69:in `accept_and_process_next_client’

    [ 2013-07-10 17:51:37.5748 4525/7f69c8c98700 Pool2/Implementation.cpp:1182 ]: [App 13345 stderr] from /var/lib/gems/1.9.1/gems/passenger-4.0.8/lib/phusion_passenger/preloader_shared_helpers.rb:116:in `run_main_loop’

    [ 2013-07-10 17:51:37.5748 4525/7f69c8c98700 Pool2/Implementation.cpp:1182 ]: [App 13345 stderr] from /var/lib/gems/1.9.1/gems/passenger-4.0.8/helper-scripts/rack-preloader.rb:128:in `’

    [ 2013-07-10 17:51:37.5748 4525/7f69c8c98700 Pool2/Implementation.cpp:1182 ]: [App 13345 stderr] from /var/lib/gems/1.9.1/gems/passenger-4.0.8/helper-scripts/rack-preloader.rb:6:in `’

    [ 2013-07-10 17:51:37.5748 4525/7f69c8c98700 Pool2/Implementation.cpp:1182 ]: [App 13345 stderr] from /var/lib/gems/1.9.1/gems/passenger-4.0.8/helper-scripts/rack-preloader.rb:5:in `’

    Detached process (pid=13837, group=/home/rails/tracker/current#default) didn’t shut down within 1 minute. Forcefully killing it with SIGKILL

    Any suggestions what to look for??

  • http://www.phusion.nl/ Hongli Lai
  • http://blog.gingerlime.com/ Yoav Aner

    There’s no problem spawning the initial passenger process, and rails runs fine. But after a while, some processes seem to become inaccessible and passenger appears to be unable to even kill them and then we see those errors…

  • http://www.phusion.nl/ Hongli Lai

    Could you send a message to the community discussion forum? Let’s continue the discussion there.

  • http://blog.gingerlime.com/ Yoav Aner

    Yes, of course. Sorry for posting in the wrong place. I posted a question on the google group.