PM2部署项目到服务器

2018-03-16  本文已影响0人  real_ting

本文主要介绍pm2部署项目到linux服务器的大致流程。关于pm2的使用,请参考文档

  1. 首先确保在本地和服务器都能以ssh的方式下拉代码。
  2. 在github上创建一个仓库demo,克隆到本地。通过在命令行输入express生成一个简单的express项目,安装依赖,通过npm start运行项目,打开浏览器输入localhost:3000,可看到如下界面,代表本地项目没有问题启动成功并将代码push到github上。 success.png
  3. pm2配置文件
module.exports = {
  /**
   * Application configuration section
   * http://pm2.keymetrics.io/docs/usage/application-declaration/
   */
  apps: [
      {
          name           : 'demo',
          script         : 'bin/www',
          env: {
              NODE_ENV: 'production'
          }
      }
  ],

  /**
   * Deployment section
   * http://pm2.keymetrics.io/docs/usage/deployment/
   */
  deploy: {
      master: {
          user         : 'user',
          host         : ['xxx.xxx.xxx.xxx'],
          port         : 'xxxx',
          ref          : 'origin/master',
          repo         : 'git@github.com:sunshine1125/demo.git',
          path         : '/home/user/demo',
          // "ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],
          'post-deploy': 'npm install && pm2 startOrReload ecosystem.config.js --env production'
      }
  }
};

  1. 执行配置命令下拉代码
pm2 deploy ecosystem.config.js master setup

master 和配置文件中的master对应,代表要配置的项目名称。

  1. 配置成功后,我们会看到在服务器的 /home/liut 目录下会多了一个demo文件,查看文件里面有三个目录:

current: 当前服务运行的文件夹
shared: log 等共享数据
source: 克隆下来的源代码

  1. 查看源代码,可以看到项目的依赖并没有安装,我们在配置文件里已经配置过了,直接执行
 pm2 deploy ecosystem.config.js master

会自动安装依赖并启动项目

  1. 在浏览器输入服务器的 ip 加项目启动的端口号,如:x.x.x.x:3000,可看到如步骤2一样的成功页面,即项目部署成功。
上一篇下一篇

猜你喜欢

热点阅读