Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails: is Passenger Standalone suitable for production deployment?

The question title pretty much sums it up... I haven't been able to find any good resources that outline the pros / cons of using Phusion Passenger Standalone for Rails App Deployment. How does it compare to running Passenger Nginx or Passenger Apache? Do things like .htaccess continue to work as expected? Any insight would be greatly appreciated!

Thanks!

like image 479
Andrew Avatar asked Nov 04 '10 00:11

Andrew


People also ask

Why use Phusion Passenger?

Phusion Passenger® is an open source web application server. It handles HTTP requests, manages processes and resources, and enables administration, monitoring and problem diagnosis. Passenger is very easy to use, makes deploying in production much easier and is scalable.

What is Passenger application server?

Passenger® is an app server that runs and automanages your web apps with ease. Also improves security, reliability and scalability.

How do I know if my Phusion Passenger is running?

passenger-status looks at the current status of a Phusion Passenger installation. It will locate Phusion Passenger automatically if it is running and will give you a list of instances if there is more than one Phusion Passenger instance running.


2 Answers

Standalone is built on top of Nginx. You can directly attach it to port 80 and it'll behave pretty much like Phusion Passenger + Nginx: it can serve static files very quickly, it'll automatically start and stop processes based on traffic, it'll auto-restart processes when they crash, it'll take care of fairly load balancing traffic between processes, etc. Performance-wise, it's exactly the same as Phusion Passenger for Nginx. So yes you can use it in production.

Nginx does not support .htaccess. It's an Apache thing.

If you run multiple Standalones it's a little bit more memory-heavy than running a single Phusion Passenger for Nginx but the overhead is relatively small.

like image 95
Hongli Avatar answered Nov 05 '22 10:11

Hongli


The Passenger standalone is pretty much a Passenger with Nginx compiled in. One of the pros is, that you now can use a different Ruby version with each Passenger and proxy the traffic through one Apache or Nginx or use it, well, standalone. I don't know if there is a difference performance-wise. I suppose using multiple standalone Passengers instead of one Nginx with a Passenger module increases the memory usage.

like image 28
rausch Avatar answered Nov 05 '22 11:11

rausch