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 相关文章推荐
用正则获取指定路径文件的名称
Feb 27 Javascript
jQuery根据纬度经度查看地图处理程序
May 08 Javascript
js调试系列 初识控制台
Jun 18 Javascript
node.js中的http.response.setHeader方法使用说明
Dec 14 Javascript
ECMAScript中函数function类型
Jun 03 Javascript
微信小程序之绑定点击事件实例详解
Jul 07 Javascript
通过vue-cli3构建一个SSR应用程序的方法
Sep 13 Javascript
vue + element-ui的分页问题实现
Dec 17 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
Jul 25 jQuery
微信小程序bindtap事件与冒泡阻止详解
Aug 08 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
Mar 04 Javascript
javascript单张多张图无缝滚动实例代码
May 10 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
支持oicq头像的留言簿(二)
2006/10/09 PHP
php设计模式小结
2013/02/15 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
gulp教程_从入门到项目中快速上手使用方法
2017/09/14 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
django使用图片延时加载引起后台404错误
2017/04/18 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
python实现类之间的方法互相调用
2018/04/29 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python timeit模块的使用实践
2020/01/13 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
上海天奕面试题笔试题
2015/04/19 面试题
机械设计及其自动化专业推荐信
2013/10/31 职场文书
二年级体育教学反思
2014/01/15 职场文书
春节联欢会策划方案
2014/05/16 职场文书
公司应聘自荐书
2014/06/14 职场文书
园林技术专业求职信
2014/07/28 职场文书
人事专员岗位说明书
2014/07/29 职场文书
导游词之日本富士山
2020/01/06 职场文书
python文件名批量重命名脚本实例代码
2021/04/22 Python
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android
Python基本知识点总结
2022/04/07 Python