首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用高大上的pm2代替forever部署nodejs项目

使用高大上的pm2代替forever部署nodejs项目

作者头像
飞奔去旅行
发布2019-06-13 14:24:50
发布2019-06-13 14:24:50
1.6K00
代码可运行
举报
文章被收录于专栏:智慧协同智慧协同
运行总次数:0
代码可运行

经常逛cnode社区,所以早已耳闻pm2,今天我们就研究一下它到底怎么部署项目。

pm2官方文档:http://pm2.keymetrics.io/docs/usage/quick-start/

简单教程

首先需要安装pm2:

代码语言:javascript
代码运行次数:0
运行
复制
npm install -g pm2

运行:

代码语言:javascript
代码运行次数:0
运行
复制
pm2 start app.js

初次安装并运行,会有一个高大上的界面:

高大上的界面

直接我们介绍过forever,那么pm2与forever相比较有哪些高大上的功能呢?我们看一下对比表格:

Feature

Forever

PM2

Keep Alive

Coffeescript

Log aggregation

API

Terminal monitoring

Clustering

JSON configuration

我们可以很直观的看出,pm2相比较Forever,功能更加强大一些。

查看运行状态

我们可以通过简单的命令查看应用的运行状态:

代码语言:javascript
代码运行次数:0
运行
复制
pm2 list

效果如下:

运行状态

ANodeBlog应用正在运行,pid为31480,并且占用内存为89.113 MB。

追踪资源运行情况

代码语言:javascript
代码运行次数:0
运行
复制
pm2 monit

会看到应用资源的实时运行情况

实时运行情况

查看应用详细部署状态

如果我们想要查看一个应用详细的运行状态,比如ANodeBlog的状态,可以运行:

代码语言:javascript
代码运行次数:0
运行
复制
pm2 describe 3

“3”是指App Id。

结果如下:

详细运行状态

查看日志

代码语言:javascript
代码运行次数:0
运行
复制
pm2 logs 

系统会打印出详细的logs。

重启应用

代码语言:javascript
代码运行次数:0
运行
复制
pm2 restart appId

停止应用

想要终止应用,只需要运行:

代码语言:javascript
代码运行次数:0
运行
复制
pm2 stop app.js

强健的API

在项目中运行:

代码语言:javascript
代码运行次数:0
运行
复制
pm2 web

然后浏览器访问http://localhost:9615 你会有惊喜!

预定义运行配置文件

我们可以预定义一个配置文件,然后制定运行这个配置文件,比如我们定义一个文件process.json,内容如下:

代码语言:javascript
代码运行次数:0
运行
复制
{
  "apps": [
    {
      "name": "ANodeBlog",
      "script": "bin/www",
      "watch": "../",
      "log_date_format": "YYYY-MM-DD HH:mm Z"
    }
  ]
}

然后可以通过

代码语言:javascript
代码运行次数:0
运行
复制
pm2 start process.json

运行这个App。

总结

常用命令总结如下:

  1. 安装pm2
代码语言:javascript
代码运行次数:0
运行
复制
npm install -g pm2
  1. 启动应用
代码语言:javascript
代码运行次数:0
运行
复制
pm2 start app.js
  1. 列出所有应用
代码语言:javascript
代码运行次数:0
运行
复制
pm2 list
  1. 查看资源消耗
代码语言:javascript
代码运行次数:0
运行
复制
pm2 monit
  1. 查看某一个应用状态
代码语言:javascript
代码运行次数:0
运行
复制
pm2 describe [app id]
  1. 查看所有日志
代码语言:javascript
代码运行次数:0
运行
复制
pm2 logs
  1. 重启应用
代码语言:javascript
代码运行次数:0
运行
复制
pm2 restart [app id]
  1. 停止应用
代码语言:javascript
代码运行次数:0
运行
复制
pm2 stop [app id]
  1. 开启api访问
代码语言:javascript
代码运行次数:0
运行
复制
pm2 web

更多pm2内容请参考官方文档:http://pm2.keymetrics.io/docs/usage/quick-start

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.02.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单教程
  • 查看运行状态
    • 追踪资源运行情况
    • 查看应用详细部署状态
  • 查看日志
  • 重启应用
  • 停止应用
  • 强健的API
  • 预定义运行配置文件
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档