pm2部署Node.js项目:ecosystem.json配置文件详解与发布流程

作者:墨池

时间:2026-10-24

浏览:318

本文详细解析pm2发布Node.js项目时ecosystem.json配置文件的核心参数,包括Git SSH地址、服务器路径权限及环境变量设置。通过分步演示setup与deploy命令的使用,结合SSH公钥配置、安全组白名单设置及端口占用排查,帮助开发者解决部署过程中的常见报错,实现从本地到服务器的自动化发布。

文章目录

背景

pm2部署环境准备与配置文件结构

近期在构建基于Node.js、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"
   }
  }
 }
}

ecosystem.json核心参数配置详解

配置过程中需重点关注以下事项:

第一,repo参数必须配置为Git的SSH地址,而非HTTPS地址。

pm2部署环境准备与配置文件结构

第二,需确保服务器端已创建目标path目录,且当前用户对该目录拥有写入权限。

例如,创建目录路径:/www/website/development。

确保development目录具备写入权限。

本地发布命令执行流程

接下来执行发布操作。

在本地项目文件夹中右键选择“Git Bash Here”打开终端。

首先执行初始化部署命令,确认执行成功后再进行后续步骤。


pm2 deploy ecosystem.json production setup

随后执行正式部署命令。


pm2 deploy ecosystem.json production

SSH配置与发布注意事项

发布环节需注意以下关键点:

第一,必须提前配置好SSH公钥,具体方法可参考相关文档。

第二,发布过程中需要输入服务器登录密码以完成身份验证。

部署后访问测试与故障排查

最后,进行访问测试与故障排查。

尝试通过“服务器IP地址+项目端口号”的方式访问项目。若访问失败,请继续排查。

可进入服务器项目current文件夹,手动执行启动命令以查看具体报错信息。

例如执行启动脚本。


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

此外,还需注意以下网络与系统配置问题:

第一,Node项目使用的端口必须在云服务商的安全组白名单中开放,否则外部无法访问。第二,检查服务器端口是否被其他进程占用。

以上内容为本文全部要点,希望对各位开发者有所帮助,欢迎持续关注本站获取更多技术分享。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章