• pm2 命令手册


    pm2 部署命令

    准备工作

    node安装

    设置node软连接

    ln -s /opt/node-v14.14.0-linux-x64/bin/node /usr/bin/node
    ln -s /opt/node-v14.14.0-linux-x64/bin/npm /usr/bin/npm
    
    • 1
    • 2

    pm2 命令

    pm2 start npm --name homepage1 -- run start
    pm2 start npm --name homepage -- run start
    
    #1、安装pm2(npm版本太低可能会导致安装失败,升级步骤见后文)
    npm install -g pm2
    #查看pm2的安装路径
    whereis pm2
    pm2: /opt/node-v16.14.0-linux-x64/bin/pm2
    #设置软连接 或者配置/etc/profile
    ln -s /opt/node-v14.14.0-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2
    #修改软连接
    ln -snf /opt/node-v14.14.0-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2
    #配置/etc/profile
    export NODE_HOME=/usr/local/nodejs/node-v12.12.0-linux-x64
    export PATH=$NODE_HOME/bin:$PATH
    #更新
    source /etc/profile
    
    #查看版本
    pm2 -v
    
    #首先确保您正确保存了所有进程:
    sudo pm2 save
    #最后更新内存中的PM2进程:
    sudo pm2 update
    
    #启动进程(需要进入该项目所在目录下)
    pm2 start 进程名
    #启动成功后可进行访问,若不能访问检查一下端口的下行规则是否开放
    
    #查看进程
    pm2 list
    #停止、删除进程
    pm2 stop/delete 进程名
    #查看日志
    pm2 logs
    #查看项目运行情况,包括内存,cpu状态等
    pm2 monit 
    #保存当前已经启动了的服务.pm2/dump.pm2这个文件是否已经有保存到数据, save之前无该文件
    pm2 save   
    #设置开机自启的配置
    pm2 startup 
    
    # 删除
    rm /usr/bin/pm2 
    rm -r /usr/local/lib/node_modules 
    rm -r /root/.pm2/ 
    # 重新安装pm2
    npm install pm2 -g 
    # 建立软链接
    ln -s /opt/node-v16.14.0-linux-x64/lib/node_modules /usr/bin/pm2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    ecosystem.config.js

    module.exports = {
      apps : [{
    	name: 'home',
    	script: './node_modules/nuxt/bin/nuxt.js',
    	args: 'start',
    	min_uptime: 60s,
    	max_restarts: 30,
    	/*
    	//用于生产环境与开发环境的切换
    	env: {
          NODE_ENV: 'development'
        },
        env_production: {
          NODE_ENV: 'production'
        }*/
    	exec_mode: 'cluster_mode',
    	max_memory_restart: '400M', //如果超过指定的内存量,您的应用将重新启动
    	log_date_format: 'YYYY-MM-DD HH:mm Z',
    	merge_logs: true,
    	combine_logs: true,        //如果设置为true,则避免使用进程ID后缀日志文件
    	error_file: './logs/app.log',
    	out_file: './logs/err.log',
    	pid_file: './logs/app.pid',
    	exec_interpreter: 'node',
    	watch: false
      }]
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    说明:

    • apps:json结构,apps是一个数组,每一个数组成员就是对应一个pm2中运行的应用
    • name:应用程序名称
    • cwd:应用程序所在的目录
    • script:应用程序的脚本路径
    • log_date_format:
    • error_file:自定义应用程序的错误日志文件
    • out_file:自定义应用程序日志文件
    • pid_file:自定义应用程序的pid文件
    • instances:启动的线程数量
    • min_uptime:最小运行时间,这里设置的是60s即如果应用程序在60s内退出,pm2会认为程序异常退出,此时触发重启max_restarts设置数量
    • max_restarts:设置应用程序异常退出重启的次数,默认15次(从0开始计数)
    • cron_restart:定时启动,解决重启能解决的问题
    • watch:是否启用监控模式,默认是false。如果设置成true,当应用程序变动时,pm2会自动重载。这里也可以设置你要监控的文件。
    • merge_logs:
    • exec_interpreter:应用程序的脚本类型,默认是nodejs
    • exec_mode:应用程序启动模式,默认是fork
    • autorestart:启用/禁用应用程序崩溃或退出时自动重启
    • vizion:启用/禁用vizion特性(版本控制)
    • 可以通过pm2 start processes.json来启动。

    总结

    Error: Cannot find module ‘xxx/pm2/lib/ProcessContainerFork.js’

    导致上面错误原因是pm2环境发生了变化,需要删除.pm2文件

     rm -rf ~/.pm2
    
    • 1

    执行完命令后,重新启动加载

  • 相关阅读:
    Python 工匠 第九章 面向对象
    OpenSign 开源 PDF 电子签名解决方案
    分类预测 | MATLAB实现KOA-CNN-BiGRU开普勒算法优化卷积双向门控循环单元数据分类预测
    DataGrip 2023 年下载、安装教程、亲测可用
    计算机毕业设计成品基于Uniapp+SSM实现的设备预约管理
    Linux——安装tomcat并部署项目
    Vue----组件
    红黑树的原理
    期末测试——H5方式练习题
    Linux基础知识与实操-篇七:用户身份切换与特殊控制
  • 原文地址:https://blog.csdn.net/weixin_42526326/article/details/126248543