pm2 github
https://github.com/Unitech/pm2
$ npm install pm2 -g
说重点:
关于pm2 startup开机重启问题,我说两点:
1.官方的pm2 startup 只支持linux系统
# Auto detect init system generate and setup PM2 boot at server startup $ pm2 startup # Manually specify the startup system # Can be: systemd, upstart, launchd, rcd $ pm2 startup [platform] # Disable and remove PM2 boot at server startup $ pm2 unstartup
2.windows怎么办呢?通过google发现,执行下面即可
https://www.npmjs.com/package/pm2-windows-startup
> npm install pm2-windows-startup -g
> pm2-startup install
> pm2 save
这是官方api
# General $ npm install pm2 -g # Install PM2 $ pm2 start app.js # Start, Daemonize and auto-restart application (Node) $ pm2 start app.py # Start, Daemonize and auto-restart application (Python) $ pm2 start npm -- start # Start, Daemonize and auto-restart Node application # Cluster Mode (Node.js only) $ pm2 start app.js -i 4 # Start 4 instances of application in cluster mode # it will load balance network queries to each app $ pm2 reload all # Zero Second Downtime Reload $ pm2 scale [app-name] 10 # Scale Cluster app to 10 process # Process Monitoring $ pm2 list # List all processes started with PM2 $ pm2 list --sort=<field> # Sort all processes started with PM2 $ pm2 monit # Display memory and cpu usage of each app $ pm2 show [app-name] # Show all information about application # Log management $ pm2 logs # Display logs of all apps $ pm2 logs [app-name] # Display logs for a specific app $ pm2 logs --json # Logs in JSON format $ pm2 flush $ pm2 reloadLogs # Process State Management $ pm2 start app.js --name="api" # Start application and name it "api" $ pm2 start app.js -- -a 34 # Start app and pass option "-a 34" as argument $ pm2 start app.js --watch # Restart application on file change $ pm2 start script.sh # Start bash script $ pm2 start app.json # Start all applications declared in app.json $ pm2 reset [app-name] # Reset all counters $ pm2 stop all # Stop all apps $ pm2 stop 0 # Stop process with id 0 $ pm2 restart all # Restart all apps $ pm2 gracefulReload all # Gracefully reload all apps in cluster mode $ pm2 delete all # Kill and delete all apps $ pm2 delete 0 # Delete app with id 0 # Startup/Boot management $ pm2 startup # Detect init system, generate and configure pm2 boot on startup $ pm2 save # Save current process list $ pm2 resurrect # Restore previously saved processes $ pm2 unstartup # Disable and remove startup system $ pm2 update # Save processes, kill PM2 and restore processes $ pm2 init # Generate a sample js configuration file # Deployment $ pm2 deploy app.json prod setup # Setup "prod" remote server $ pm2 deploy app.json prod # Update "prod" remote server $ pm2 deploy app.json prod revert 2 # Revert "prod" remote server by 2 # Module system $ pm2 module:generate [name] # Generate sample module with name [name] $ pm2 install pm2-logrotate # Install module (here a log rotation system) $ pm2 uninstall pm2-logrotate # Uninstall module $ pm2 publish # Increment version, git push and npm publish
发表评论: