3.8 KiB
PM2 is a process manager for Node.JS application with a built-in load balancer.
Well, PM2 is constantly assailed by more than 300 test
Compatible with CoffeeScript. Works on Linux & MacOS.
Install PM2
$ npm install pm2 -g
Start an application
$ pm2 start app.js
$ pm2 start app.js -i max # Enable load-balancer and cluster features
Main features
Process management
Once app are started you can list them and manage them:
To list all running processes:
$ pm2 list
To manage your process it's straightforward:
$ pm2 stop <app_name|id|all>
$ pm2 restart <app_name|id|all>
$ pm2 delete <app_name|id|all>
To get more details about a specific process:
$ pm2 describe 0
Monitoring
Monitor all processes launched:
$ pm2 monit
Log facilities
Displaying logs of specified process or all processes in realtime:
$ pm2 logs
$ pm2 logs big-api
$ pm2 flush # Clear all the logs
Load balancing / 0s reload downtime
When an app is started with the -i option, the cluster mode is enabled.
With the cluster mode, PM2 enable load balancing between each worker. Each HTTP/TCP/UDP request will be forwarded to a specific process at a time.
$ pm2 start app.js -i max # Enable load-balancer and cluster features
$ pm2 reload all # Reload all apps in 0s manner
Startup script generation
PM2 can generate and configure a startup script to keep PM2 and your processes alive at every server restart.
$ pm2 startup <ubuntu|centos|gentoo|systemd>
To save a process list just do:
$ pm2 save
Monitoring dashboard
We're going to release a very nice product, a dashboard to monitor every part of your Node.js applications. Here are some links:
- Pitch + Survey People who fill the survey will be eligible for free license
Thanks in advance and we hope that you like PM2!
Other PM2 features
- Watch & Restart
- JSON application declaration
- Using PM2 in your code
- Deployment workflow
- Startup script generation (SystemV/Ubuntu/Gentoo/AWS)
- Advanced log management (flush, reload, ilogs)
- GracefullReload
Know more about PM2
Contributors
License
Files in lib/ are made available under the terms of the GNU Affero General Public License 3.0 (AGPL 3.0).
Except the file lib/CLI.js who is made under the terms of the Apache V2 license.







