PM2一键部署node项目

PM2可以自动部署node项目,用于简化node应用管理。

Posted by Azr on December 7, 2018

PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

优势

  1. 无需通过手工或是ftp的方式把本地代码拷贝到服务器上
  2. 无需手工启动或是重启远程服务器的Node服务
  3. 项目的升级及迭代非常方便
  4. 具有负载均衡功能

前提

  1. 购买阿里云服务器,生成CentOS7.x的系统

  2. 在CentOS7.x中安装必要的软件 Node、MongoDB、Apache、MySQL、FTPServer…

    可参考文档

  3. 本地和服务器安装pm2全局包

  4. 对阿里云服务器的安全组规则进行配置

  5. 要把代码发布到在线的Git仓库,比如Github或是码云

  6. 在自己服务器配置好Git仓库的SSH Key

基本指令

可参考 文档

# 启动
$ pm2 start xxx

# 停止
$ pm2 stop xxx

# 重启
$ pm2 restart xxx

# 查看列表
$ pm2 list

基本使用

  1. 将本地代码发布到Git远程仓库(Github、码云)。

  2. 在阿里云服务器(CentOS)上生成SSH Key 并且将公钥设置到Github后台,方便拉取代码到CentOS服务器。

    可参考使用SHH文档使用SSH文档

    服务器记得安装git

    $ yum install -y git
    
  3. 在本地及服务器上面安装 pm2。

    $ npm i pm2 -g
    
  4. 使用pm2 init生成pm2的配置文件。

    可参考文档

    主要更改内容:

    • apps下面的 name、script 等配置项目
    • deploy 下面的user、host、repo、path
  5. 切换到本地项目根目录,运行 部署 指令即可

    可参考文档

    $ pm2 deploy production setup
    $ pm2 deploy production
    
  6. 代码更新&迭代,切换到本地项目根目录,运行执行指令

    $ pm2 deploy production update
    # 在做这个之前,必须先把代码发布到Github
    

本文首次发布于 Azr的博客, 作者 @azrrrrr ,转载请保留原文链接.

原文链接: http://amor9.cn/2018/12/07/pm2/