On Thursday, December 19, 2013 8:50:21 PM UTC+1, Bijuv V wrote:
>
> c. Use Phusion Passenger - Not quite sure why would I go with such a 
> heavyweight ? (IMO - just by reading thru their website) 
>

Phusion Passenger is quite lightweight actually. Its core is written in 
C++, is high-performance and uses less than 5 MB of memory. Many Passenger 
users actually use it on VPSes with less than 1 GB of RAM (some even less 
than 512 MB) and it works great.

It sounds like Passenger solves your problem quite nicely. Passenger spawns 
multiple instances of your application (i.e. multiple processes), manages 
them automatically and exposes them over a single port. As a user you only 
have to deal with that single Passenger instance, not with all the 
individual processes. The multi-process management allows your app to 
automatically utilize all your CPU cores, and all requests are 
automatically and fairly distributed over the processes. Passenger also 
provides:
- Crash protection by restarting your processes automatically if they crash.
- Powerful administration tools for inspecting the status of your app as 
well as various statistics, such as number active requests, concurrency, 
memory usage, CPU usage etc. These are provided through simple command line 
tools - no need to sign up for any web services.
- Security features such as Automatic User Switching.
- Changing the cluster size dynamically.

Another major reason for using Passenger is its ability to reduce your 
configuration boilerplate by 90%, drastically simplifying deployment. With 
cluster, forever, pm2, etc you have to write Nginx reverse proxy 
configuration directives, setup init scripts, setup process monitoring, 
etc. Almost all of these are taken care of you by Passenger, though its 
Nginx integration mode.

And unlike the cluster module, you usually do not have to modify your 
application to make it multi-process capable. Except in some rare (and 
documented) cases, it should work out of the box.

As for vendor lock-in: Passenger is open source. Its source code is 
available at Github under the MIT license. Anybody can read or modify it: 
https://github.com/phusion/passenger

More information is available 
at https://github.com/phusion/passenger/wiki/Phusion-Passenger:-Node.js-tutorial
Although Passenger is new, users are slowly picking it up. For some 
reviews, see:
http://langrisa.eu/setting-up-ghost-blog-on-nginx-phusion-passenger/
http://naholyr.fr/2013/12/mise-en-production-serveur-node-js-phusion-passenger/ 
(French)

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to