What is Passenger for Rails?

What is Passenger?
Rails uses built in /Puma/ web server (alternative Unicorn)

$ rails server

Usually apps have Apache or Nginx web server for serving static files — but cannot run Ruby applications.

An app server allows Ruby apps speak HTTP.

Passenger can integrate with Nginx or Apache too.

The Server

$ bundle exec passenger start

Passenger creates a PID file, log file, etc. (Passenger has it’s own built in log can specify with —log-file awesome.log )

Process Management
Passenger launches the application as an external process and manages.

  • Load balances
  • Kills Processes (@ 300 seconds - no traffic
  • Restarts

max pool size = number of processes passenger keeps around

Reference