pm2发布node配置文件ecosystem.json详解


Posted in Javascript onMay 15, 2019

背景

最近在搭建一个node+koa+vue的项目使用到了pm2发布

这里简单的记录一下

在根目录新建文件

ecosystem.json

{
 "apps": [
  {
   "name": "ant-help-center",
   "script": "./bin/www", //启动脚本
   "env": {
    "COMMON_VARIABLE": "true"
   },
   // 测试服务器
   "env_development": {
    "NODE_ENV": "development",
    "PORT": 8087
   },
   // 生产环境
   "env_production": {
    "NODE_ENV": "production",
    "PORT": 8087
   }
  }
 ],
 "deploy": {
  // 生产环境
  "production": {
   "user": "root", //Nginx服务器上的username
   "host": ["xxx.xxx.xxx.xxx"], // 服务器地址
   "port": "22",
   "ref": "origin/master", //从指定的分支拉取代码
   "repo": "git@gitee.com:xxx/xxxx.git", // 使用
   "path": "/www/website/production", //发布到服务器指定的目录下
   "ssh_options": "StrictHostKeyChecking=no",
   //构建在发布
   "post-deploy":
    "npm install && pm2 startOrRestart ecosystem.json --env production",
   "env": {
    "NODE_ENV": "production"
   }
  },
  // 测试环境
  "development": {
   "user": "root", //Nginx服务器上的username
   "host": ["xxx.xxx.xxx.xxx"], // 服务器地址
   "port": "22",
   "ref": "origin/master", //从指定的分支拉取代码
   "repo": "git@gitee.com:xxx/xxxx.git",
   "path": "/www/website/development", //发布到服务器指定的目录下
   "ssh_options": "StrictHostKeyChecking=no",
   //构建在发布
   "post-deploy":
    "npm install && pm2 startOrRestart ecosystem.json --env development",
   "env": {
    "NODE_ENV": "development"
   }
  }
 }
}

需要注意点:

一:repo参数要使用git ssh的地址

pm2发布node配置文件ecosystem.json详解

二:先在服务器创建path 目录目录要有权限

创建对应目录:/www/website/development

获取development目录写入权限

发布

在本地文件夹本目录右键打开git bash

执行第一条,成功后

pm2 deploy ecosystem.json production setup

执行

pm2 deploy ecosystem.json production

需要注意点:

一:必须添加ssh公钥,自行百度

二:发布需要输入服务器的密码

最后

使用ip地址加项目端口号访问,如果还没有成功

你可以进入项目的current文件夹中执行启动命令

比如

node ./bin/www // 看下是否报错,排查错误

另外需要注意的点

一:node项目端口要在云服务商里进行设置,安全组白名单,要不访问不到
二:查看端口是否被占用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js DOM 元素ID就是全局变量
Sep 20 Javascript
改进版通过Json对象实现深复制的方法
Oct 24 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
Jun 19 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
Aug 26 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
Sep 12 Javascript
javascript针对不确定函数的执行方法
Dec 16 Javascript
浅谈jquery中next与siblings的区别
Oct 27 Javascript
JavaScript常见的五种数组去重的方式
Dec 15 Javascript
vue2.0使用swiper组件实现轮播效果
Nov 27 Javascript
如何基于JavaScript判断图片是否加载完成
Dec 28 Javascript
详解如何解决使用JSON.stringify时遇到的循环引用问题
Mar 23 Javascript
JQuery常见节点操作实例分析
May 15 #jQuery
JS算法题之查找数字在数组中的索引位置
May 15 #Javascript
JQuery属性操作与循环用法示例
May 15 #jQuery
前端js中的事件循环eventloop机制详解
May 15 #Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 #Javascript
微信小程序的tab选项卡的实现效果
May 15 #Javascript
少女风vue组件库的制作全过程
May 15 #Javascript
You might like
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
python 基础教程之Map使用方法
2017/01/17 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
Python如何给你的程序做性能测试
2020/07/29 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
教师专业自荐书范文
2014/02/10 职场文书
学校安全生产月活动总结
2014/07/05 职场文书
汽修专业自荐信
2014/07/07 职场文书
四年级学生期末评语
2014/12/26 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python