美文网首页全栈工程师后端资源精选前端
使用高大上的pm2代替forever部署nodejs项目

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

作者: Devid | 来源:发表于2016-02-05 11:21 被阅读32772次

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

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

    简单教程

    首先需要安装pm2:

    npm install -g pm2
    

    运行:

    pm2 start app.js
    

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


    高大上的界面

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

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

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

    查看运行状态

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

    pm2 list
    

    效果如下:


    运行状态

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

    追踪资源运行情况

    pm2 monit
    

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


    实时运行情况

    查看应用详细部署状态

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

    pm2 describe 3
    

    “3”是指App Id。

    结果如下:


    详细运行状态

    查看日志

    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
    
    1. 启动应用
    pm2 start app.js
    
    1. 列出所有应用
    pm2 list
    
    1. 查看资源消耗
    pm2 monit
    
    1. 查看某一个应用状态
    pm2 describe [app id]
    
    1. 查看所有日志
    pm2 logs
    
    1. 重启应用
    pm2 restart [app id]
    
    1. 停止应用
    pm2 stop [app id]
    
    1. 开启api访问
    pm2 web
    

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

    相关文章

      网友评论

      • 没有知了的夏季:好像pm2 stop是不会释放端口的,要pm2 kill才杀进程释放端口。
        hey小易:会释放端口的,我电脑都可以
      • 双鱼大猫:请教一下,如何部署到线上服务器?
      • swweaper5:58hunlian.comhttp://www.
        swweaper5: @swweaper5 http://www.58hunlian.com
      • 破晓之喻:在windows系统中使用pm2感觉怪怪的,使用pm2 log在console上只能看到最近的日志
      • runner123:你好,我想问下,你文章里面的字体颜色是怎么设置的?如最后的pm2 web m2是蓝色的,其他为黑色,这个是设置的主题吗?谢谢,请指教
        Devid:用msys2
      • 潇Lee:简书上的技术文章越来越多了,是个好现象,虽然其他类型文章不怎么样,技术类文章还是可以的~
        Devid:鸡汤文章也不少

      本文标题:使用高大上的pm2代替forever部署nodejs项目

      本文链接:https://www.haomeiwen.com/subject/huoekttx.html