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.
