讲师中心 微信公众号
AI工具推荐 视频效率加速

如何解决宝塔面板Node.js项目部署后无法访问_排查PM2管理状态与反向代理

老晨君_4545

老晨君_4545

发布时间:2026-05-01 14:37:46

|

588人浏览过

|

来源于php中文网

原创

PM2显示online但请求无响应,需查真实日志:执行pm2 logs --lines 100,重点排查模块缺失、端口占用、ESM语法错误;再用ss -tuln | grep :3000确认监听地址是否为*:3000或:::3000,而非仅127.0.0.1:3000,并检查宝塔防火墙与云安全组是否放行该端口。

如何解决宝塔面板node.js项目部署后无法访问_排查pm2管理状态与反向代理

PM2 进程显示 online 但请求无响应?先看真实日志

宝塔界面显示“启动成功”不等于 Node 进程真在跑。PM2 可能卡在初始化阶段就退出,而面板没刷新状态。最直接的办法是登录服务器终端,执行:pm2 logs --lines 100。重点看最后一屏有没有以下内容:

  • Error: Cannot find module —— 路径填错或工作目录不对
  • port 3000 is already in use —— 端口冲突,可能是旧进程没杀干净
  • ReferenceError: require is not defined —— 用了 ESM 语法(import)但 Node 版本太低("type": "module"
  • 空日志?说明 PM2 根本没执行到你的脚本,问题出在启动命令或解释器路径

注意:pm2 logs 默认只查最近一个应用;多项目时加 --name my-api 指定名称。宝塔界面上的“日志”页签是操作日志,不是应用日志,别混淆。

启动命令写 npm start 就失败?必须用绝对路径

宝塔 PM2 管理器不会自动加载你的 shell profile(比如 .bashrc),所以它找不到 nvm 安装的 npm,也不会识别 ~ 或相对路径。填 npm start 在绝大多数情况下都会报 command not found

OC SSH Tunnel Node Recovery
OC SSH Tunnel Node Recovery

诊断并恢复通过 SSH 隧道连接的 OpenClaw 节点。用于解决配对必需错误、隧道冲突、远程端点错误以及 SSH 目标配置错误等问题。

下载
  • 正确做法:在宝塔“启动脚本”栏填完整绝对路径,例如:/www/server/nvm/versions/node/v18.19.1/bin/npm start
  • 如果项目根目录是 /www/wwwroot/my-app,那“项目路径”必须填这个,不是 /www/wwwroot/my-app/src
  • 更稳妥的方式是改用 ecosystem.config.js,显式指定 cwdscript,比宝塔表单更可控
  • 检查 Node 解释器是否匹配:在入口文件第一行加 console.log('NODE_VERSION:', process.version),对比你预期的版本

Nginx 反向代理配了还是 502?关键头缺失是高频原因

宝塔点“反向代理”自动生成配置,但默认不加 proxy_set_header Host $host;,这会导致后端框架(如 Express、Nest)读不到 req.headers.host,鉴权、重定向、静态资源路径全乱套。

  • 进「网站」→ 对应站点 → 「配置文件」,确认有这几行(尤其 HostX-Real-IP):
    proxy_pass http://127.0.0.1:3000;<br>proxy_set_header Host $host;<br>proxy_set_header X-Real-IP $remote_addr;<br>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>proxy_set_header X-Forwarded-Proto $scheme;
  • 删掉“启用缓存”——Node.js 是动态服务,开缓存会返回过期响应
  • 执行 nginx -t 验证语法,再 bt reloadnginx -s reload 生效
  • 如果 curl http://127.0.0.1:3000 能通,但域名访问 502,基本就是 proxy_pass 地址写错端口,或 Nginx 没连上本地服务

服务监听地址是 127.0.0.1:3000?外部请求根本到不了

这是最隐蔽也最常被跳过的环节。Node 进程默认监听 127.0.0.1,意味着只有本机能访问,Nginx 作为同机进程可以连上,但浏览器通过公网 IP 或域名访问时,流量压根进不来。

  • 检查项目入口(如 server.js)里 app.listen() 的调用:
    ✅ 正确:app.listen(3000, '0.0.0.0', () => {...})
    ❌ 错误:app.listen(3000, '127.0.0.1', () => {...})
  • 验证方式:执行 ss -tuln | grep :3000,输出中必须含 *:3000:::3000,不能只有 127.0.0.1:3000
  • 如果没输出,说明服务根本没起来——回退查 PM2 日志和启动命令
  • 即使监听对了,还要过两道网关:宝塔防火墙 + 云平台安全组,二者都得放行对应端口(如 3000)

真正卡住的地方往往不在代码,而在监听地址、环境路径、Nginx 头三者之间的微小错位。每次改完,记得用 ss -tulnpm2 logsnginx -t 逐层验证,别依赖面板状态。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

8649

2023.09.19

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

354

2025.11.26

Node.js后端开发与Express框架实践
Node.js后端开发与Express框架实践

本专题针对初中级 Node.js 开发者,系统讲解如何使用 Express 框架搭建高性能后端服务。内容包括路由设计、中间件开发、数据库集成、API 安全与异常处理,以及 RESTful API 的设计与优化。通过实际项目演示,帮助开发者快速掌握 Node.js 后端开发流程。

721

2026.02.10

JavaScript Node.js流处理与高效数据管道构建实践
JavaScript Node.js流处理与高效数据管道构建实践

本专题聚焦 Node.js 在大规模数据处理场景中的应用,系统讲解 Stream 流机制、背压控制、管道(Pipe)处理以及文件与网络数据流的高效传输方式。内容包括可读流、可写流、双工流与转换流的实现原理,并结合实际案例构建高性能数据处理管道,帮助开发者提升数据处理效率与系统吞吐能力。

264

2026.04.07

TypeScript Node.js 全栈工程化与Monorepo架构实践
TypeScript Node.js 全栈工程化与Monorepo架构实践

本专题围绕 TypeScript 在 Node.js 全栈开发中的工程化实践展开,系统讲解 Monorepo 架构设计、包管理策略、模块复用机制以及服务端与前端统一类型系统的构建方法。通过真实项目案例,帮助开发者提升大型全栈项目的可维护性与协作效率。

438

2026.06.16

宝塔面板部署ThinkPHP6项目与LNMP环境配置实践
宝塔面板部署ThinkPHP6项目与LNMP环境配置实践

本专题围绕宝塔面板在 ThinkPHP6 项目部署中的实际应用展开,系统讲解 LNMP 环境一键搭建、站点创建、域名绑定、伪静态配置以及 PHP 版本切换等关键操作。内容还包括数据库配置、项目上传部署、运行目录设置及常见部署问题排查。通过完整上线流程演示,帮助开发者快速实现 ThinkPHP 项目的服务器部署与稳定运行,提升网站上线效率与运维能力。

415

2026.03.23

宝塔面板网站安全加固与防攻击配置实践
宝塔面板网站安全加固与防攻击配置实践

本专题围绕宝塔面板在网站安全防护中的应用展开,系统讲解防火墙配置、SSH 安全策略、登录保护、端口管理及恶意访问拦截机制。内容涵盖 CC 攻击防护、文件权限设置、敏感目录保护及安全日志分析,帮助用户全面提升服务器安全性。

52

2026.03.25

宝塔面板多站点管理与虚拟主机配置实践
宝塔面板多站点管理与虚拟主机配置实践

本专题讲解如何通过宝塔面板实现多站点部署与统一管理,包括站点创建、域名绑定、子站配置及资源隔离策略。通过实战案例,帮助用户高效管理多个网站项目,提高服务器利用率。

159

2026.03.25

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

0

2026.09.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 20.4万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 4.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn