资讯专栏INFORMATION COLUMN

pm2 发布 node 配置文件ecosystem.json

yexiaobai / 1103人阅读

摘要:背景最近在搭建一个的项目使用到了发布这里简单的记录一下在根目录新建文件启动脚本测试服务器生产环境生产环境服务器上的服务器地址从指定的分支拉取代码使用发布到服务器指定的目录下构建在发布测试环境服务器上的服务器地址从指定的分支拉取代码

背景

最近在搭建一个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的地址

二:先在服务器创建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项目端口要在云服务商里进行设置,安全组白名单,要不访问不到
二:查看端口是否被占用

关于我

您可以扫描添加下方的微信并备注 Sol 加交流群,给我提意见,交流学习。

如果对你有帮助送我一颗小星星(づ ̄3 ̄)づ╭❤~

转载请联系作者!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/109530.html

相关文章

  • 通过Github与PM2部署Node应用

    摘要:于是着手将应用迁移到阿里云的上去。环境介绍本地,应用采用的技术远端服务器阿里云核内存,,系统为账户名系统架构服务器部署的应用,并在端口进行监听。通过浏览器打开可以看到部署的应用可以访问了。 背景 前一段时间,是通过百度云的BAE部署自己的Node应用的,不过随着应用的不断开发,BAE的限制不断制约了应用的使用。于是着手将应用迁移到阿里云的ECS上去。本文即是介绍了如何在ECS上搭建No...

    tianren124 评论0 收藏0
  • 全栈工程师之路——服务器端自动部署

    摘要:如果你想要成为一名全栈工程师,那么就必须要学会,学会线上服务器部署和发布。准备为了避免个人花钱买云服务器。用户名必须正确,否则会提示服务器拒绝密码。还有一个这个是自动部署需要的,目录结构如下这文件的配置很重要。 前言 作为一名前端工程师,不仅要能写前端页面,还要懂前端工程,各种库,各种框架,各种衍生语言,信手捏来。如果你想要成为一名全栈工程师,那么就必须要学会Node.js,学会线上服...

    OpenDigg 评论0 收藏0
  • ubuntu 下部署 node 服务器环境 - 基础篇

    写在最前 这是根据 imooc 上 Scott 老师的课程整理的,主要是方便自己查找,因为真的记不住... 附上链接:Node.js项目线上服务器部署与发布 静态网站,需要数据库的电影网站、公众号,小程序,app 五种项目的部署。这里只写最简单的静态网站的部署 部署思路 1、完成项目2、购买域名,备案,解析一些二级域名出来备用3、购买服务器 4、ssh 远程登录服务器 并进行一些安全配置5、服务...

    BoYang 评论0 收藏0
  • ubuntu 下部署 node 服务器环境 - 基础篇

    写在最前 这是根据 imooc 上 Scott 老师的课程整理的,主要是方便自己查找,因为真的记不住... 附上链接:Node.js项目线上服务器部署与发布 静态网站,需要数据库的电影网站、公众号,小程序,app 五种项目的部署。这里只写最简单的静态网站的部署 部署思路 1、完成项目2、购买域名,备案,解析一些二级域名出来备用3、购买服务器 4、ssh 远程登录服务器 并进行一些安全配置5、服务...

    isaced 评论0 收藏0
  • 阿里云服务器部署 nodejs + mongodb + nginx 反向代理 + https配置 s

    摘要:感谢老师,老师的慕课网教程购买阿里云服务器及域名终端连接阿里云服务器环境输入密码购买时的密码如果出现这个问题的解决方案解决方法查看硬盘挂在情况如果有数据盘的情况下查看硬盘使用情况通过设置快捷登录权限,可以增加几个拥有权限的用户下查 感谢 Scott 老师,Scott老师的慕课网教程 https://coding.imooc.com/clas... 1. 购买阿里云服务器及域名 2. ...

    张春雷 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<