1panel 面板怎么部署 Node 项目

juming
juming 初级会员超兽战士
发布于 2026-10-08 12:52 ·1 浏览 ·0 回复

照着这篇做完,你就能在 1Panel 面板上把一个 Node 项目跑起来,并绑好域名和 HTTPS,以后更新代码也知道点哪里重新发布。下面以 1Panel 社区版 v1.10.x 和 Node.js 20.18.0 为例,全程在面板里点。

第一步:装好 Node 运行环境

这一步的结果是:服务器上有一个 1Panel 托管的 Node 版本,后面创建项目时能直接选。

左侧菜单点「网站」→「运行环境」→ 顶部切到「Node.js」标签 → 点「创建运行环境」。版本选 20.18.0,名称填 node20,其余默认,点「确定」。等状态变成「已启动」即可。

注意:不要在 SSH 里用 apt、yum 或 nvm 再装一份 Node。1Panel 创建项目时用的是它自己装的这个版本,两边不一致会出现「命令跑得通、面板里起不来」的情况。

第二步:把代码放到服务器并构建

这一步的结果是:项目目录里有完整的代码和构建产物。

点左侧「文件」,进入 /opt/1panel/www/sites/,新建目录 myapp。如果你有 Git 仓库,更推荐点左侧「终端」,执行:

cd /opt/1panel/www/sites/myapp
git clone 你的仓库地址 .
npm ci
npm run build

没有仓库就用「文件」页面的「上传」按钮把打包好的代码传进 myapp,再在「终端」里执行 npm ci && npm run build。

注意:本地打包上传时不要把 node_modules 一起传,架构和依赖容易对不上;.env 文件也不建议走 Git,直接在服务器上创建。

第三步:创建 Node 项目

这一步的结果是:项目被 1Panel 接管,能开机自启、异常自动重启。

左侧「网站」→「Node 项目」→「创建项目」,按下表填写:

  • 名称:myapp
  • Node 版本:node20
  • 项目目录:/opt/1panel/www/sites/myapp
  • 包管理器:npm
  • 启动命令:npm run start(如果 package.json 里没有 start,就写 node dist/main.js,路径按你的构建输出改)
  • 端口:3000
  • 端口外部访问:先关掉,后面用反向代理接入

点「确定」,列表里状态变成「运行中」就成功了。

注意:启动命令必须是前台运行的命令。不要写 pm2 start xxx,1Panel 自己管进程,两套东西抢同一个端口会反复报 EADDRINUSE。

注意:.env 里配置的 PORT 要和这里填的端口一致,否则面板探测不到进程,状态会显示异常。

第四步:本机验证是否真的通了

点左侧「终端」,执行:

curl -I http://127.0.0.1:3000

返回 200 或 301 就说明服务正常。如果报连接被拒绝,回到「Node 项目」页面点开该项目,看「日志」页里的报错。

注意:Express、Koa 这类框架默认监听所有网卡;如果代码里写死了 listen(3000, 'localhost'),反向代理可能连不上,改成 0.0.0.0 或直接去掉第二个参数。

第五步:绑域名并开 HTTPS

这一步的结果是:外网能通过 https://你的域名 访问这个 Node 服务。

左侧「网站」→「网站」→「创建网站」,类型选「反向代理」,主域名填 app.example.com,代理地址填 http://127.0.0.1:3000,点「确定」。随后点该网站的「配置」→「HTTPS」→ 勾选「启用 HTTPS」→「申请证书」,选 Let's Encrypt,开启自动续签,保存。

注意:申请证书前,域名的 DNS 解析必须已经指向这台服务器并且生效,否则签发会失败。80 端口也要能被外网访问,Let's Encrypt 校验要用。

第六步:以后怎么更新

代码有改动时,在「终端」里执行:

cd /opt/1panel/www/sites/myapp
git pull
npm ci
npm run build

然后回到「网站」→「Node 项目」,找到 myapp,点「重启」。整个过程不用碰服务器上的其他服务。

小结

  • 先用「网站 → 运行环境 → Node.js」装好 Node,别在系统里另外装一份。
  • 代码放 /opt/1panel/www/sites/ 下,先 npm ci && npm run build 再创建项目。
  • 创建项目时启动命令要前台运行,端口和 .env 保持一致,别混用 PM2。
  • 对外访问走「网站 → 网站 → 反向代理」,再用「配置 → HTTPS」一键签证书。
  • 更新流程固定为:拉代码 → 装依赖 → 构建 → 面板里点「重启」。
版权声明:本文来自 GJ站长论坛《1panel 面板怎么部署 Node 项目》
原文链接:https://www.gj0.com/thread-962.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~