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 相关文章推荐
JQuery 解析多维的Json数据格式
Nov 02 Javascript
一个报数游戏js版(约瑟夫环问题)
Aug 05 Javascript
JavaScript中Math对象方法使用概述
Jan 02 Javascript
跟我学习javascript的call(),apply(),bind()与回调
Nov 16 Javascript
jquery.masonry瀑布流效果
May 25 jQuery
JS计算输出100元钱买100只鸡问题的解决方法
Jan 04 Javascript
JavaScript实现的联动菜单特效示例
Jul 08 Javascript
使用layui的layer组件做弹出层的例子
Sep 27 Javascript
在vue项目实现一个ctrl+f的搜索功能
Feb 28 Javascript
Vue项目中使用flow做类型检测的方法
Mar 18 Javascript
Node.js Domain 模块实例详解
Mar 18 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
Apr 08 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
php中将数组存到文件里的实现代码
2012/01/19 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
php图片裁剪函数
2018/10/31 PHP
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
Vue实现简易计算器
2020/02/25 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
Django 导出 Excel 代码的实例详解
2017/08/11 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python3 操作符重载方法示例
2017/11/23 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Python 从attribute到property详解
2020/03/05 Python
python Pexpect模块的使用
2020/12/25 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
AOP的定义以及作用
2013/09/08 面试题
Python里面search()和match()的区别
2016/09/21 面试题
学校标语大全
2014/06/19 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
python基础之文件处理知识总结
2021/05/23 Python
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技