封面

node项目监控工具之pm2

用了好几年的宝塔,不知道什么时候出了个pm2管理器,才开始以为它是对node版本切换管理的,直到今天看到有一篇文章才发现理解错了。研究了一下pm2的作用和用法,也顺便玩一玩宝塔中的pm2。

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

简单教程

首先需要安装pm2:

npm install -g pm2

运行:

pm2 start app.js

开机自动运行:

pm2 start app.js --watch

开机自启:

pm2 startup
pm2 save

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

img

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

Feature Forever PM2
Keep Alive
Coffeescript
Log aggregation
API
Terminal monitoring
Clustering
JSON configuration

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

查看运行状态

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

pm2 list

效果如下:

img

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

追踪资源运行情况

pm2 monit

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

img

查看应用详细部署状态

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

pm2 describe 3

“3”是指App Id。

结果如下:

img

查看日志

pm2 logs

系统会打印出详细的logs。

重启应用

pm2 restart appId

停止应用

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

pm2 stop app.js

强健的API

在项目中运行:

pm2 web

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

预定义运行配置文件

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

{
"apps": [
{
"name": "ANodeBlog",
"script": "bin/www",
"watch": "../",
"log_date_format": "YYYY-MM-DD HH:mm Z"
}
]
}

然后可以通过

pm2 start process.json

运行这个App。

总结

常用命令总结如下:

  1. 安装pm2

    npm install -g pm2
  2. 启动应用

    pm2 start app.js
  3. 列出所有应用

    pm2 list
  4. 查看资源消耗

    pm2 monit
  5. 查看某一个应用状态

    pm2 describe [app id]
  6. 查看所有日志

    pm2 logs
  7. 重启应用

    pm2 restart [app id]
  8. 停止应用

    pm2 stop [app id]
  9. 开启api访问

    pm2 web

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

宝塔中的pm2管理器使用方法

1、安装版本

windows默认支持3个版本(8.x/9.x/10.x),选择任意一个版本安装即可 安装时间可能会比较久,请耐心等待.. img img

2、添加项目

如果添加项目后无法启动,可能是当前环境变量未生效,需要重启面板或者服务器后,重新添加项目 img img

3、给项目绑定一个域名

如图点击映射,出现绑定域名窗口,绑定完成之后,可在网站管理查看到对应的网站 img

4、访问网站

浏览器输入刚刚绑定的域名如图:http://node.ffce.cn 至此第一个node.js搭建成功 img

5、添加模块

如果项目需要安装其他模块,则通过模块管理安装,如图我需要安装express img img

6、查看日志

img

测试js img app.js (423 Bytes, 下载次数: 1191)

在mac上安装bt

安装Docker

brew cask install docker

在Docker里安装CentOS

Docker Hub:https://hub.docker.com/_/centos

docker pull centos

映射宝塔端口

创建一个CentOS容器并映射8888端口,复制返回的容器ID

docker run -d -it -p 10086:10086 centos

img

进入CentOS安装宝塔

进入容器终端

docker exec -it [容器ID] bash

在CentOS中执行宝塔安装命令

宝塔论坛中打开安装教程,找到最新的版本安装命令,像以下这样的命令。

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完成后,提示给的外网IP是用不了的,所以这里需要用本地ip访问面板

img

docker相关命令

Docker 命令大全

列出正在运行的容器信息

docker ps

列出所有容器信息

docker ps

停止所有容器

docker stop $(docker ps -a -q)

或者通过docker-compose安装

git clone https://github.com/ifui/baota.git

3. 进入项目根目录

cd baota

4. 生成配置文件

cp .env-example .env

5. 启动宝塔镜像,在项目根目录下执行命令

docker-compose up -d app

6. 查看默认登录信息

docker-compose logs app

如果自己修改过env中的端口配置,那么访问的时候就需要写自己修改的端口

image-20201106174751622

比如我这里填的是18888,那我的访问地址就是 http://localhost:18888/63c795f5 ,后面的随机码可以用docker-compose logs app查看

文章目录
  1. 1. 简单教程
  2. 2. 查看运行状态
  3. 3. 追踪资源运行情况
  4. 4. 查看应用详细部署状态
  5. 5. 查看日志
  6. 6. 重启应用
  7. 7. 停止应用
  8. 8. 强健的API
  9. 9. 预定义运行配置文件
  10. 10. 总结
  • 宝塔中的pm2管理器使用方法
  • 在mac上安装bt
    1. 1. 安装Docker
    2. 2. 在Docker里安装CentOS
    3. 3. 映射宝塔端口
    4. 4. 进入CentOS安装宝塔
    5. 5. docker相关命令
  • 或者通过docker-compose安装
    1. 0.1. 3. 进入项目根目录
    2. 0.2. 4. 生成配置文件
    3. 0.3. 5. 启动宝塔镜像,在项目根目录下执行命令
    4. 0.4. 6. 查看默认登录信息


  • twitter分享


    如果想及时收到回复,可在 订阅中心Participating中勾选Email

    Fork me on GitHub