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 相关文章推荐
javascript 进度条 实现代码
Jul 30 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
Apr 02 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
Jul 15 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
返回函数的JavaScript函数
Jun 14 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
Dec 21 Javascript
微信小程序之picker日期和时间选择器
Feb 09 Javascript
H5上传本地图片并预览功能
May 08 Javascript
实时监控input框,实现输入框与下拉框联动的实例
Jan 23 Javascript
AngularJS 应用模块化的使用
Apr 04 Javascript
Vue CLI3中使用compass normalize的方法
May 30 Javascript
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
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
中国第一家无线电行
2021/03/01 无线电
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
用jscript启动sqlserver
2007/06/21 Javascript
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
轮播的简单实现方法
2016/07/28 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
js canvas实现画图、滤镜效果
2018/11/27 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
Python的argparse库使用详解
2018/10/09 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
简单了解python代码优化小技巧
2019/07/08 Python
python super用法及原理详解
2020/01/20 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
社区庆中秋节活动方案
2014/02/07 职场文书
绘画专业自荐信范文
2014/02/23 职场文书
供货协议书范本
2014/04/22 职场文书
家长建议怎么写
2014/05/15 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
导游词300字
2015/02/13 职场文书