author
24 August 2016

After months of discussion with our growing & outstanding user community and hundreds of issues solved on Github we are happy to announce the release of PM2 V2. PM2 V2 is about increased stability and performance, better support for Windows, and better integration for Docker users! Also PM2 has reached some amazing milestones: 5 millions NPM downloads 14,000+ stars 84th most popular JS project on Github Tiny memory and CPU footprint Thanks to a code reflow, CPU usage has been dropped by…

Read more
author
04 January 2016

First I want to say a big thanks to the Open Source community, small, large companies, startups, hackers, evangelists for your PM2 support. Now, in this century, it is possible to build large project with the collaborative, crowd intelligence, and PM2 is the one of those projects that shows it is real. PM2 has reached some amazing millestones: 2 millions downloads 11,000+ stars 94th most popular JS project on Github And today we are proud to announce the official release of PM2 1.0! Official…

Read more
author
03 February 2015

Introduction NVM (Node Version Manager) is a great tool that enables the user to switch beetween differents versions of Node.js. Here's a quick introduction on how to install, use it and take advantage of all its features. Fist step : setting up NVM As explained in the Readme file from NVM source repository => https://github.com/creationix/nvm, you will have to launch the install script using curl : $ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash or Wget : $…

Read more
author
05 August 2015

Introduction This tutorial is the second part. If you didn't read the first part, take a look at this one : https://keymetrics.io/2015/05/18/getting-started-with-keymetrics-and-pm2/ As we did in the previous article for linking and creating a communication between PM2 and Keymetrics, go back to your dashboard. How to setup Keymetrics Dashboard If you followed all steps in the first tutorial, your dashboard should look like this : As you can see, multiples actions on the application are availabl…

Read more
author
10 June 2015

Introduction As we are working on the 1.0 version of PM2, we are already beta testing some nifty features. Some of them, such as the module system, are already available in the latest version of PM2. The module system is a way to install small Node.js softwares supercharging your laptop/Raspberry PI/server. They are published on NPM like any Javascript package, but this time they can run by themselves with deeper integration with PM2. Once installed, these modules will always stay online and ar…

Read more
author
02 June 2015

Introduction ECMAScript 6 (ES6, often referred to as “Harmony”) is the upcoming sixth major release of the ECMAScript language specification. It's a significant update to the language since ES5. At Keymetrics we love innovation and moving forward. Javascript has been evolving fast these days and we are glad to announce support for ES6/ES7! We integrated the Babel project into PM2 to make things easier for developers who want to use it in development or production. Show me some code! This is…

Read more
author
18 May 2015

Tutorial on how to set up Keymetrics and PM2 properly and get everything up and running. Introduction Since the official launch of Keymetrics 2 months ago, we got several questions and issues from the users about how to install Keymetrics and synchronize it with the NodeJS servers and PM2 processes running on them. As a matter of fact, we were a bit puzzled to see users struggling with the installation of PM2 and the synchronization thereof. That's why we thought it may be useful to make a clea…

Read more
author
06 May 2015

Introduction As you already know, PM2 is a production process manager. In this post I will show you how and why PM2 is best fit to deploy microservices-oriented applications. Micro-Service architecture What is it ? There is a lot to say about the microservices architecture. Basically, it is a design pattern in which an application is the sum of many smaller independently deployable applications (services). Each one of these smaller apps is designed to do a specific task and do it well. When to…

Read more
author
26 March 2015

Introduction As you would probably know, Node.js is a platform built on Chrome's JavaScript runtime, gracefully named V8. The V8 engine, and hence Node.js, runs in a single-threaded way, therefore, doesn't take advantage of multi-core systems capabilities. Node.js cluster module Luckily enough, Node.js offers the cluster module, which basically will spawn some workers which can all share any TCP connection. How does it work ? Cluster module will set up a master and then fork your server app as…

Read more
author
23 February 2015

Today we are excited to announce that the product we have been building for the past 12 months, Keymetrics, is officially up and running. For those who already know about PM2, this is the monitoring solution we referred to in our documentation. After receiving more than 2.500 answers to our feedback survey, 1.500 signups on LaunchRock, a ton of awesome tweets, and more than 380.000 PM2 downloads, we are pleased to release the first v1 of Keymetrics. We are also going to release a concept even mo…

Read more
author
20 January 2015

Make Ghost more easy to deploy Work on local, deploy on production For only 5$ per month you will get fast server. Digitalocean with Ubuntu droplet. $ curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip $ unzip -uo ghost.zip -d ghost $ cd /path/to/ghost $ npm install --production $ npm install pm2 -g $ pm2 ecosystem $ edit file $ create a remote git filesystem and $ git init $ git add . $ git commit -am "first ghost" $ git push origin master $ edit config.js file $ on remote $ ln -s fi…

Read more
author
15 October 2014

PM2 and Keymetrics I/O are taking off! The last few weeks have been quite busy! We are moving hand in hand with Open Source contributors, freelances around the world and our own taskforce to enhance everything. Once again, we upgraded PM2 and we are proud to anounce this new 0.11 release. This version integrates features that had been requested for a while, as well as new nifty tools! This includes: Multi-user support and permissions You can now host multiple PM2s on your server and set the righ…

Read more
author
09 October 2014

In 2012, I was hired to lead a team of developers at the faculty of medicine at a Canadian university. The portfolio consisted of over 40 applications, some very small, that were built in a monolithic fashion in VB.NET using a SQL Server back-end. A few applications were build in other languages, but all ran on Microsoft servers. The previous team shared functionality between these applications by cutting and pasting code, or by rewriting code to do the same thing over and over again. These app…

Read more
author
26 August 2014

We did it! After many contributions, bug reports and intensive internal usage, PM2 has been upgraded to the 0.10! Process Manager 2, but what's new ? Automatic restart on memory limit Automatic restart based on reached memory limit. Excuse my French but it simply means that your app will be automatically restarted at a certain amount of memory. $ pm2 start app.js --max-memory-restart=100 This command will restart the app.js if it reaches more than 100mb. PM2 heart code refactored The heart code…

Read more
author
20 August 2014

Do you develop technical apps? Maybe you already found a way to make your app use your own app. Let's take the example of Keymetrics.io, a monitoring solution dedicated to Node.JS. Keymetrics.io is developped in Node.JS with a lot of micro services communicating between one another. In order to manage all theses process fleet, by the way, we use PM2, a process manager for Node.JS which Keymetrics.io is based on. Then Keymetrics.io monitors PM2 and all managed apps. To sum it up, we used (1) Key…

Read more