如何在宝塔面板部署Node.js 18.x环境_使用PM2管理器配置项目自启动

云婷姑娘_1746

云婷姑娘_1746

2026-05-02

848人浏览

原创

宝塔部署node.js 18.x + pm2自启动必须手动确认node环境路径、pm2启动命令、反向代理三者对齐,否则必现“启动中”卡顿或502错误;node -v报command not found主因是path未配置,需在node插件设置中启用命令并执行source /www/server/nvm/nvm.sh;pm2启动命令须用绝对路径如/www/server/nvm/versions/node/v18.19.1/bin/npm start;反向代理目标url须填http://127.0.0.1:3000且关闭缓存;系统重启自启需以项目用户执行pm2 startup和pm2 save。

如何在宝塔面板部署node.js 18.x环境_使用pm2管理器配置项目自启动

直接结论:宝塔里部署 Node.js 18.x + PM2 自启动,不能只点“一键部署”,必须手动确认 Node 环境路径、PM2 启动命令、反向代理三者全部对齐,否则必然卡在“启动中”或 502。

Node.js 插件安装后,node -v 仍报 command not found?

这是最常被忽略的前置问题。宝塔「Node.js 项目管理器」插件虽已安装,但默认不自动把 /www/server/nvm/versions/node/v18.19.1/bin(路径随版本变)加入系统 PATH,终端里就找不到 nodenpm

  • 进宝塔「软件商店」→ 找到已安装的「Node.js 项目管理器」→ 点「设置」→ 勾选「为所有用户启用 Node.js 命令」
  • 立刻打开「宝塔SSH终端」,执行:source /www/server/nvm/nvm.sh && node -v,应输出 v18.19.1 类似值
  • 如果仍失败,手动追加环境变量到 /etc/profileecho 'export NVM_DIR="/www/server/nvm" && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> /etc/profile && source /etc/profile

PM2 管理器里填的「启动命令」为什么总失败?

宝塔 PM2 管理器界面里的「启动命令」字段,不是让你填 npm start 这种简写,它根本不会加载你的 shell 环境(比如 ~/.bashrc),所以找不到全局 npmpm2

Revealjs Presentations
Revealjs Presentations

创建、编辑并部署 reveal.js 演示文稿为单个 HTML 文件,可选自定义 CSS。适用于需要制作演示文稿、幻灯片或宣传材料时使用。

下载
  • 正确写法是绝对路径命令,例如:/www/server/nvm/versions/node/v18.19.1/bin/npm start
  • 如果项目有 ecosystem.config.js,就填:/www/server/nvm/versions/node/v18.19.1/bin/pm2 start ecosystem.config.js
  • 「应用名称」必须填写(如 my-api),否则 pm2 restart my-api 会失效
  • 「项目路径」必须是含 package.json 的根目录,不是 app.js 所在子目录;填错会报 Cannot find module

为什么进程显示“运行中”,但域名访问返回 502?

因为 Node.js 项目监听的是 localhost:3000,而宝塔网站默认走 Nginx,没配反向代理,请求压根没发到你的 Node 进程。

  • 进「网站」→ 点开对应站点 → 「反向代理」→ 添加
  • 目标 URL 填:http://127.0.0.1:3000(端口必须和你代码里 app.listen(3000) 一致)
  • 务必关闭「启用缓存」——Node 动态服务开缓存会导致返回旧响应
  • 若需真实客户端 IP(比如日志记录或限流),在反向代理配置里追加两行:proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

服务器重启后,PM2 进程没自启?

宝塔 PM2 管理器本身不处理系统级开机自启,它只是个 GUI 封装。真正起作用的是 PM2 自带的 startupsave 命令,且必须用当前运行项目的用户身份执行。

  • 先确认 PM2 是用哪个用户启动的(通常是 www),然后在宝塔终端切换过去:sudo -u www bash
  • 再执行:/www/server/nvm/versions/node/v18.19.1/bin/pm2 startup www --hp /home/www(注意 --hp 指 home path,/home/www 是常见路径,按实际调整)
  • 执行:/www/server/nvm/versions/node/v18.19.1/bin/pm2 save,保存当前进程列表
  • 验证:sudo reboot 后等 1 分钟,再 sudo -u www /www/server/nvm/versions/node/v18.19.1/bin/pm2 list 查看是否恢复

最容易被忽略的点:所有路径(Node 二进制、npm、pm2、项目目录、用户 home)都必须严格匹配你当前安装的实际版本和用户权限。用 root 身份跑 PM2,但项目文件属主是 www,或者 ecosystem.config.js 里写的 cwd 是相对路径,都会导致守护失败且日志里只显示模糊的 “errored”。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

js node.js node 宝塔面板

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

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

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

2023.09.19

8489

8

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

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

2025.11.26

354

14

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

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

2026.02.10

721

17

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

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

2026.04.07

264

13

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

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

2026.06.16

438

8

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

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

2026.03.23

395

15

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

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

2026.03.25

52

17

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

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

2026.03.25

139

21

宝塔面板Nginx性能优化与高并发配置实践
宝塔面板Nginx性能优化与高并发配置实践

本专题围绕宝塔环境下的 Nginx 优化展开,深入讲解缓存策略、连接数调优、Gzip 压缩、静态资源加速及反向代理配置。帮助用户提升网站访问速度与并发处理能力。

2026.03.25

396

29

热门下载

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

精品课程

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

共101课时 | 20.4万人学习

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

共39课时 | 4.6万人学习