快速上手 pm2

pm2 是帶有負載均衡的 Node 進程管理器。功能包括:守護進程、日誌、監控、熱重載、部署等等,總之功能很強大,操做很便捷,值得花一些時間瞭解。

安裝

全局安裝 pm2 node

$ npm install pm2 -ggit


經常使用命令

這裏只列出工做中最經常使用的命令。只有在啓動的時候須要執行具體的入口文件好比app.js,以後全部的操做都基於進程的名稱或者id。
  • pm2 start app.js 啓動進程
  • pm2 start app.js --name myweb 啓動進程並命名爲myweb
  • pm2 start app.js --watch 啓動進程 熱重載
  • pm2 start app.js -i 0 啓動進程,根據cpu核數自動負載均衡
  • pm2 stop myweb 中止myweb進程
  • pm2 show myweb 查看myweb進程詳細信息
  • pm2 restart myweb 重啓myweb進程
  • pm2 list 全部進程列表
  • pm2 logs 查看進程實時日誌
  • pm2 logs --lines 200 查看進程實時日誌,並顯示200條舊日誌
  • pm2 delete myweb 刪除myweb進程
  • pm2 delete all 刪除全部進程
  • pm2 monit 監控進程的cpu、內存使用狀況

舉個例子:以熱重載的方式啓動進程並命名爲 koa 。App name:koa,id:0。github



配置文件

pm2 也能夠以配置文件的形式啓動進程,功能很強大。

命令行輸入:web

pm2 ecosystemnpm

會生成配置文件模板,大體以下:bash

module.exports = {
    apps: [{
        name: 'API',
        script: 'app.js',

        // Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
        args: 'one two',
        instances: 1,
        autorestart: true,
        watch: false,
        max_memory_restart: '1G',
        env: {
            NODE_ENV: 'development'
        },
        env_production: {
            NODE_ENV: 'production'
        }
    }],

    deploy: {
        production: {
            user: 'node',
            host: '212.83.163.1',
            ref: 'origin/master',
            repo: 'git@github.com:repo.git',
            path: '/var/www/production',
            'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production'
        }
    }
};複製代碼

具體怎麼用這裏不贅述了,本篇主旨在於快速上手pm2,若是你想深刻研究這些,推薦看官方文檔,寫的很詳細,不過目前只有英文版的文檔。app

pm2 官方文檔:pm2.keymetrics.io/docs/usage/…負載均衡

相關文章
相關標籤/搜索