电报机器人开发

216 阅读3分钟

anata.me/2019/03/30/…

调研 coze.com @muxu_jiu
可以轻松设置机器人,但是收费,不能写代码

vultr VPS能做什么?

vultr.ywbb.com/389.html

xshell下载 cloud.tencent.com/developer/a…

google账号登陆 my.vultr.com/welcome/#

pm2常用命令 pm2 是一个强大的进程管理器,特别适用于管理 Node.js 应用程序。它提供了简化的命令行工具来管理(启动、停止、重启、监控等)你的应用程序。以下是一些 pm2 的常用命令及其说明:

安装 PM2

首先,确保你已经安装了 pm2。你可以通过 npm 来安装:

npm install -g pm2

常用命令

启动应用程序

  1. 启动应用程序:

    pm2 start app.js
    

    这将启动 app.js 文件并将其置于后台管理。

  2. 指定名称启动:

    pm2 start app.js --name my-app
    

    使用 --name 参数为应用程序指定一个名称,方便后续管理。

  3. 启动指定数量的实例(负载均衡模式):

    pm2 start app.js -i 4
    

    -i 参数指定启动多少个实例。-i max 会根据服务器的 CPU 核心数启动同样数量的实例。

  4. 从配置文件启动:

    pm2 start ecosystem.config.js
    

    ecosystem.config.js 是 PM2 的配置文件,包含多个应用的配置。

管理应用程序

  1. 列出所有进程:

    pm2 list
    

    显示所有由 PM2 管理的应用程序及其状态。

  2. 停止应用程序:

    pm2 stop <app_name_or_id>
    

    你可以使用应用程序的名称或 ID 来停止它,例如:

    pm2 stop my-app
    

    或者:

    pm2 stop 0
    
  3. 重启应用程序:

    pm2 restart <app_name_or_id>
    

    stop 命令类似,你可以使用应用程序的名称或 ID。

  4. 删除(卸载)应用程序:

    pm2 delete <app_name_or_id>
    

    从 PM2 管理中移除指定的应用程序。

应用监控和日志管理

  1. 查看应用程序日志:

    pm2 logs <app_name_or_id>
    

    实时查看指定应用程序的日志。你也可以使用 pm2 logs 查看所有应用程序的日志。

  2. 监控应用程序:

    pm2 monit
    

    提供应用程序和系统的实时监控界面。

  3. 查看指定应用的详情:

    pm2 show <app_name_or_id>
    

    显示指定应用的详细信息,包括内存使用、运行时间等。

  4. 输出日志到文件:

    PM2 默认将日志存储在 ~/.pm2/logs 目录下。如果你想要指定输出日志到不同的位置,可以通过配置文件或命令行参数实现。

进阶功能

  1. 持久化配置:

    如果希望 PM2 在系统重启后自动恢复应用状态,可以使用以下命令来保存当前的应用状态:

    pm2 save
    

    使用:

    pm2 startup
    

    配置 PM2 在系统启动时自动启动。

  2. 重新加载应用程序(无停机):

    pm2 reload <app_name_or_id>
    

    使用 reload 可以在不停止应用的情况下重新加载,适用于平滑重启。

  3. 管理环境变量:

    在启动应用时可以通过 --env 参数来指定环境变量:

    pm2 start app.js --env production
    

    这通常与 ecosystem.config.js 文件中的环境配置结合使用。

  4. 备份和恢复进程列表:

    你可以使用 dump 命令备份当前进程列表:

    pm2 dump
    

    使用 pm2 start --restore 恢复备份的进程。

PM2 配置文件

ecosystem.config.js 文件可以用来管理多个应用程序的配置。以下是一个示例配置文件:

module.exports = {
  apps : [{
    name: "app1",
    script: "./app1.js",
    instances: 1,
    autorestart: true,
    watch: false,
    max_memory_restart: '1G',
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production"
    }
  },
  {
    name: "app2",
    script: "./app2.js",
    instances: 2,
    exec_mode: "cluster",
    autorestart: true,
    watch: false,
    max_memory_restart: '1G',
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production"
    }
  }]
}

你可以通过以下命令使用配置文件:

pm2 start ecosystem.config.js --env production

这会根据 ecosystem.config.js 文件中的配置启动应用程序。

参考资料

如果你有任何问题或需要进一步的帮助,请告诉我!