参考:https://www.jianshu.com/p/d636f96c9bf3
pm2【重磅推荐】:官网地址:http://pm2.io/
GitHub上用法大全:https://github.com/Unitech/pm2
npm install -g pm2
pm2 start app.js // 启动
pm2 start app.js -i max //启动 使用所有CPU核心的集群
pm2 stop app.js // 停止
pm2 stop all // 停止所有
pm2 restart app.js // 重启
pm2 restart all // 重启所有
pm2 delete app.js // 关闭
使用文件同时启动多个程序的案例分享
/**
* 功能:创建pm2启动的配置文件,批量启动每一个node程序!
* 启动命令:pm2 start/restart 完整路径/pm2_ecosystem.config.js
* pm2常用命令:
* pm2 start app_name
* pm2 stop app_name
* pm2 delete app_name
* pm2 describe app_name 【查询详细信息,包括输出文件路径】
*
* pm2 list 【查看进程列表】
* pm2 restart all 【重启所有】
* pm2 monit 【监控所有运行文件的信息】
*
* pm2 startup 【生成启动脚本,兼容systemctl控制,可以设置开机启动】
* pm2 save 【保存正在运行的线程,开机启动运行这些线程】
* pm2 ecosystem或init 【生成配置文件ecosystem.config.js,以便配置文件启动多个程序,配置文件名字可以自定义】
* 关于配置参数:
* 参考官方文档:https://pm2.keymetrics.io/docs/usage/application-declaration/
*
*/
配置文件pm2_ecosystem.config.js
let _cwd = "/root/app/";
module.exports = {
apps: [{
cwd: _cwd,
name: "main_node_eth_token",
script: "./main_node_eth_token.js",
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
},
}, {
cwd: _cwd,
name: "app1",
script: "./app1.js",
}, {
cwd: _cwd,
name: "app2",
script: "./app2.js",
}, {
cwd: _cwd,
name: "app3",
script: "./app3.js",
}, {
cwd: _cwd,
name: "app4",
script: "./app4.js",
}],
};