宝塔面板快速部署 Node.js + Express 后端,一步到位!

在服务器上部署 Node.js 项目,很多小伙伴可能觉得麻烦,尤其是要手动配置环境、进程管理、反向代理等。但如果你用的是 宝塔面板 ,整个流程就会简单很多!本文将手把手教你如何在 宝塔面板 上部署 Node.js 项目,让你的应用顺利跑起来。

步骤 1:安装 Node.js

首先,我们需要在服务器上安装 Node.js 和 npm。

  1. 登录宝塔面板,进入 软件商店。
  2. 搜索 Node.js ,点击安装,选择最新的 LTS 版本(长期支持版)。
  3. 安装完成后,Node.js 和 npm 就已经配置好了,不需要额外操作。

步骤 2:上传项目到服务器

你可以选择 FTP、SFTP ,或者直接用 宝塔面板的文件管理器 上传代码到服务器。

  • 打开 宝塔面板 → 文件管理 ,找到合适的目录(比如 /www/wwwroot/your-project)。
  • 上传你的项目文件,并解压(如果是压缩包的话)。

步骤 3:安装项目依赖

项目上传完了,接下来要安装依赖。

  1. 打开 终端(SSH 连接或宝塔自带的终端)。

  2. 进入项目目录:

    bash 复制代码
    bash
    复制编辑
    cd /www/wwwroot/your-project
  3. 运行以下命令安装依赖:

    复制代码
    bash
    复制编辑
    npm install

如果项目需要环境变量 ,别忘了在项目目录下创建 .env 文件,并配置相关参数。

步骤 4:配置 Nginx 反向代理

Node.js 服务器默认监听的是某个端口(如 3000),但为了让它能通过域名访问,我们需要用 Nginx 反向代理。

  1. 打开 宝塔面板 → 网站 → 你的网站 → 反向代理。

  2. 添加一个反向代理规则,目标地址填:

    arduino 复制代码
    cpp
    复制编辑
    http://127.0.0.1:3000
  3. 保存并应用配置。

如果你用的是 Apache ,可以在 Apache 配置 里添加类似的反向代理规则。

步骤 5:使用 PM2 进程管理

为了让 Node.js 项目稳定运行(并在服务器重启后自动恢复),推荐使用 PM2。

  1. 先安装 PM2:

    复制代码
    bash
    复制编辑
    npm install -g pm2
  2. 进入项目目录,使用 PM2 启动项目:

    sql 复制代码
    bash
    复制编辑
    pm2 start app.js --name your-project

(如果你的启动文件不是 app.js,改成 server.js 或 index.js 等。)

  1. 让 PM2 开机自启:

    复制代码
    bash
    复制编辑
    pm2 startup
    pm2 save

步骤 6:开放防火墙端口

如果服务器的防火墙有严格限制,你需要手动开放端口。

  • Nginx 反向代理的端口 (一般是 80 或 443)必须开放。
  • 如果你直接访问 Node.js 端口(如 3000),那这个端口也要开放。

在 宝塔面板 → 安全 里,检查防火墙规则,确保这些端口是允许访问的。

步骤 7:测试和访问

现在,Node.js 项目已经部署好了!你可以在浏览器里测试:

  • 通过域名访问 :http://your-domain.com
  • 直接访问 IP+端口 (如果没配反向代理):http://your-server-ip:3000

如果一切顺利,你的项目应该可以正常运行了!🎉

相关推荐
噢,我明白了4 小时前
java中唯一键和幂等键的应用
java·后端
福兮说4 小时前
前端下载大文件,点了按钮半天没反应:fetch + blob 的三个问题和三种替代写法
前端·javascript·性能优化·文件下载
GreenTea4 小时前
我把 Agent 的 while 循环拆掉了:一种你可能没想到的 Agent 架构
前端·后端·架构
考虑考虑4 小时前
synchronized字符串常量
java·后端·java ee
科技观察哨5 小时前
六足平台选型与纳米定位系统集成:HEB-640六自由度位移台在半导体光刻对准中的参数边界与国产替代评估
前端·人工智能
niucloud-admin5 小时前
JAVA V6 多商户商城 开发文档——web前端
前端
颜进强5 小时前
16 · NestJS LifecycleEvents 生命周期事件:五个钩子、三条边界,和 rag-server 的优雅停机
前端·后端·ai编程
GetcharZp6 小时前
定位不再一个个吐坐标:英伟达 LocateAnything 上手全攻略
后端
今年下半年6 小时前
【VUE】整合腾讯地图、自定义区域边界、村委名称及资产统计(放大显示资产点位)
前端·javascript·vue.js
郑州光合科技余经理7 小时前
同城电商系统:库存变更怎么同步到订单
java·开发语言·前端·后端·uni-app·php·ai编程