使用pm2管理node项目的流程步骤

 更新时间:2025年03月27日 09:14:36   作者:南蓝  
pm2 是 nodejs 的进程管理器,默认支持负载均衡,能够守护进程,还支持查看应用运行时的性能,资源占用情况等,本文给大家介绍了使用pm2管理node项目的流程步骤,需要的朋友可以参考下

1. 安装 PM2

首先,确保你已经全局安装了 PM2。如果没有安装,可以使用 npm 安装:

npm install pm2 -g

安装完成后,可以通过以下命令检查 PM2 是否安装成功:

pm2 -v

2. 启动 Node 项目

假设你的项目主文件是 app.js,你可以直接使用以下命令启动:

pm2 start app.js

启动后,PM2 会将你的应用作为后台进程运行,并分配一个进程 ID(通常从 0 开始)。

常用启动参数:

  • 指定进程名称:默认进程名是文件名,可以自定义名称以便管理:
 pm2 start app.js --name "my-app"

比如我有个 Next.js 项目(NextJs 是全栈框架,所以部署的时候必须选择 Node),运行

 pm2 start pnpm --name "my-next-app" -- run start

这个命令的意思是

  • 使用 PM2 启动一个名为 my-next-app 的后台进程。
  • 这个进程通过 pnpm 执行 package.json 中定义的 start 脚本。

这个命令的意思

  • 指定环境变量:比如运行在生产环境:
pm2 start app.js --env production
  • 监听文件变化并自动重启:适合开发环境:
pm2 start app.js --watch

3. 查看进程状态

启动后,可以使用以下命令查看所有运行中的进程

pm2 list

这会显示进程的 ID、名称、状态、CPU 和内存使用情况等

4. 管理进程

  • 停止进程

pm2 stop app.js 或使用进程 ID/名称 pm2 stop 0 pm2 stop my-app

  • 重启进程
pm2 restart app.js
  • 删除进程
pm2 delete app.js

5. 使用配置文件

module.exports = {
  apps: [{
    name: "my-app",          // 进程名称
    script: "app.js",        // 启动文件
    instances: 1,            // 实例数量(可设置为 "max" 使用所有 CPU 核心)
    autorestart: true,       // 自动重启
    watch: false,            // 是否监听文件变化
    max_memory_restart: "1G",// 内存超过 1G 时重启
    env: {                   // 默认环境变量
      NODE_ENV: "development"
    },
    env_production: {        // 生产环境变量
      NODE_ENV: "production"
    }
  }]
};

启动

pm2 start ecosystem.config.js

6. 其他命令

 pm2 startup  开机自启
 pm2 log.   查看日志

到此这篇关于使用pm2管理node项目的流程步骤的文章就介绍到这了,更多相关pm2管理node项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PM2自动部署代码步骤流程总结

    PM2自动部署代码步骤流程总结

    这篇文章主要介绍了PM2自动部署代码步骤流程总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 利用node.js+mongodb如何搭建一个简单登录注册的功能详解

    利用node.js+mongodb如何搭建一个简单登录注册的功能详解

    这篇文章主要给大家介绍了关于利用node.js+mongodb如何搭建一个简单登录注册功能的相关资料,文中通过示例代码介绍非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-07-07
  • 详解基于Koa2开发微信二维码扫码支付相关流程

    详解基于Koa2开发微信二维码扫码支付相关流程

    这篇文章主要介绍了详解基于Koa2开发微信二维码扫码支付相关流程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • npm与nrm两种方式查看源和切换镜像详解

    npm与nrm两种方式查看源和切换镜像详解

    nrm(npm registry manager )是npm的镜像源管理工具,它可以快速在让你在本地源之间切换,下面这篇文章主要给大家介绍了关于npm与nrm两种方式查看源和切换镜像的相关资料,需要的朋友可以参考下
    2023-02-02
  • 在node环境下parse Smarty模板的使用示例代码

    在node环境下parse Smarty模板的使用示例代码

    这篇文章主要介绍了在node环境下parse Smarty模板的使用示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Node.js项目依赖问题的详细解决步骤

    Node.js项目依赖问题的详细解决步骤

    在现代前端开发中,Node.js 和 npm 是不可或缺的工具,然而,随着项目的迭代和依赖包的更新,我们常常会遇到依赖冲突、构建失败等问题,本文将通过一个实际案例,详细讲解如何解决 Node.js 项目中的依赖问题,包括升级 Node.js 和 npm、替换过时的依赖包、修复构建错误等
    2025-02-02
  • Node.js 路由的实现方法

    Node.js 路由的实现方法

    这篇文章主要介绍了Node.js 路由的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • node.js判断连接池是否正确连接上的两种方法

    node.js判断连接池是否正确连接上的两种方法

    在使用mysql2/promise的createPool时,连接是懒加载的,只有在执行查询或手动获取连接时才会尝试建立,推荐手动获取并释放一个连接或执行一个简单的测试查询来判断连接是否正确,本文给大家介绍node.js判断连接池是否正确连接上的两种方法,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • Electron 调用命令行(cmd)

    Electron 调用命令行(cmd)

    这篇文章主要介绍了Electron 调用命令行(cmd),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • node连接mysql查询事务处理的实现

    node连接mysql查询事务处理的实现

    本文主要介绍了node连接mysql查询事务处理的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11

最新评论