
Phusion Passenger 4.0 Release Candidate 6 - Ruphin
http://blog.phusion.nl/2013/04/09/phusion-passenger-4-0-release-candidate-6/#.UWQSq3xIdd4.hackernews
======
bithive123
Just like the first release of Passenger, I am very impressed and can't wait
to try out these new features. Kudos to Phusion for providing such great
software.

------
wlindner
Would you consider this an alternative to Google App Engine? (except that it's
focused on Rails instead of Python/Java/Go)

~~~
FooBarWidget
No. Phusion Passenger is software. Google App Engine is a PaaS.

------
nubela
So I'm curious, what does this really do? A wrapper container around
nginx/apache?

~~~
FooBarWidget
Phusion Passenger is an application server that supports Python (WSGI) and
Ruby (Rack). It does not wrap around Nginx and Apache, it _integrates_ into
Nginx and Apache. From a user's point of view, it behaves like an Apache/Nginx
module, i.e.:

1\. You configure it through the web server.

2\. Everything you need is started along with the web server, and shut down
along with the web server. You don't need to start any external components and
hook them into the web server. Compared to many other alternatives, this
reduces the amount of moving parts and makes administration easier.

Technically, it runs a lot of stuff outside the web server's address space for
stability reasons. All your actual apps do not run inside the web server, but
in their own processes. It uses a lot of Unix technologies under the hood to
make things stable and robust, though it hides all that from the user. The
philosophy is that software should Just Work(tm) and that everything should be
as easy as possible for the user, even if that means Phusion Passenger's own
authors have to write tons of code to make it so.

Here are some of the things it does for your web app:

\- It manages your processes: starts them when needed, shuts them down when
not needed, restarts them when any crashed. This way you don't have to setup
process supervision systems like Monit, God, Daemontools, etc for your apps.

\- It manages your sockets in a smart way. It buffers requests and responses
in order to protect you from slow clients and other network issues.

\- It provides easy security by running your apps as the right user, so that
you don't have to setup su/sudo scripts.

\- It manages your resources. It limits the number of processes to prevent
your system from running out of memory. It can automatically adjust the number
of processes based on traffic, so that an app is only active when it's
actually being used.

~~~
evilduck
Well, the Passenger rubygem does sort of "wrap" nginx too, since it will
compile and install nginx with Passenger enabled into a gem path and provides
a command to start/stop that specific app server without needing to configure
nginx.

~~~
FooBarWidget
You are talking about Phusion Passenger Standalone. That is a third mode,
which kind of behaves like it wraps Nginx.

First first two modes, Phusion Passenger for Apache and Phusion Passenger for
Nginx, behave like Apache/Nginx modules.

