如何将本地 Node.js 服务部署到宝塔面板:完整的部署指南

文章简介:

将本地开发的 Node.js 项目部署到线上服务器是开发者常见的工作流程之一。在这篇文章中,我将详细介绍如何将本地的 Node.js 服务通过宝塔面板(BT 面板)上线。宝塔面板是一个强大的服务器管理工具,具有简洁的 UI 和丰富的功能,适合用来管理服务器、部署应用程序和维护网站。


正文:

宝塔面板(BT)提供了方便的 Web 界面,简化了服务器管理和网站运维的流程。将本地 Node.js 服务部署到宝塔服务器,经过以下几个步骤即可轻松实现。

第一步:准备你的本地 Node.js 服务

在将服务部署到服务器之前,首先确保你的本地 Node.js 项目已经准备好,并且可以正常启动。

  1. 安装项目依赖

    如果还没有安装依赖,首先在项目根目录下执行以下命令:

    bash 复制代码
    npm install
  2. 本地启动项目

    使用以下命令确保项目可以在本地成功运行:

    bash 复制代码
    npm start

    或者:

    bash 复制代码
    node app.js

    确保应用正常启动并没有报错,浏览器中可以正常访问。

  3. 配置项目端口

    检查你的 app.jsserver.js 文件,确保定义了服务监听的端口,比如:

    javascript 复制代码
    const port = process.env.PORT || 3000;
    app.listen(port, () => {
      console.log(`Server is running on port ${port}`);
    });
第二步:准备宝塔面板服务器

如果你已经在宝塔面板上配置了服务器,可以直接跳到下一步。如果还没有,则需要配置一台服务器并安装宝塔面板。

  1. 购买服务器

    登录阿里云、腾讯云等云服务商平台,选择合适的服务器配置(如 2vCPU、4G 内存),并购买服务器。

  2. 安装宝塔面板

    登录到你的服务器后,执行以下命令来安装宝塔面板:

    CentOS 系统:

    bash 复制代码
    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

    Ubuntu/Debian 系统:

    bash 复制代码
    wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

    执行安装脚本后,系统会提示安装成功,并给出宝塔面板的登录地址、账号和密码。

  3. 登录宝塔面板

    打开浏览器,访问安装成功时提示的面板地址,使用提供的账号密码登录宝塔。

第三步:安装 Node.js 运行环境

宝塔面板的强大之处在于它支持一键安装各种常用的运行环境。我们需要安装 Node.js 来运行我们的应用。

  1. 在宝塔面板中安装 Node.js

    • 打开宝塔面板的 软件商店
    • 在左侧栏中找到 运行环境 ,然后找到 Node.js
    • 选择你需要的 Node.js 版本,点击安装。
  2. 检查 Node.js 是否安装成功

    安装完成后,打开 终端SSH 工具(如 PuTTY),在命令行中输入以下命令,检查 Node.js 是否已成功安装:

    bash 复制代码
    node -v

    如果显示 Node.js 的版本号,则安装成功。

第四步:上传你的 Node.js 项目

接下来,你需要将本地的项目文件上传到宝塔面板的服务器。

  1. 打包你的项目

    在本地项目目录下执行以下命令来打包项目:

    bash 复制代码
    zip -r my-node-app.zip .
  2. 上传到服务器

    • 在宝塔面板中,点击左侧的 文件
    • 选择你想要存放项目的目录(通常是 /www 目录下),然后点击右上角的 上传 按钮,将 my-node-app.zip 文件上传到服务器。
    • 上传完成后,解压该压缩包,确保所有项目文件上传成功。
第五步:安装项目依赖
  1. 通过 SSH 登录服务器,进入到你的项目目录:

    bash 复制代码
    cd /www/my-node-app
  2. 安装依赖

    执行以下命令,安装项目的依赖库:

    bash 复制代码
    npm install

    这一步会自动读取 package.json 中的依赖并进行安装。

第六步:配置 PM2 管理 Node.js 服务

为了让你的 Node.js 服务能够持续运行,我们使用 PM2 来管理应用进程。PM2 是一个非常流行的 Node.js 进程管理工具,支持应用的自动重启和监控。

  1. 安装 PM2

    在服务器终端中,执行以下命令安装 PM2:

    bash 复制代码
    npm install pm2 -g
  2. 启动你的 Node.js 服务

    使用 PM2 启动 Node.js 应用:

    bash 复制代码
    pm2 start app.js --name "my-node-app"
    • app.js 是你应用的入口文件。
    • --name 参数为你的应用命名,方便在多个应用中管理。
  3. 设置开机自启

    为了确保服务器重启后,Node.js 服务可以自动启动,执行以下命令:

    bash 复制代码
    pm2 startup
    pm2 save
第七步:配置 Nginx 反向代理

在宝塔面板中,我们可以通过 Nginx 反向代理将外部请求转发给 Node.js 服务。

  1. 安装 Nginx

    软件商店 中,找到 Nginx,选择安装。

  2. 配置 Nginx 反向代理

    • 在宝塔面板的左侧,点击 网站 ,然后点击 添加站点,填写你想绑定的域名和站点信息。
    • 添加完成后,点击站点的设置,找到 反向代理 选项。
    • 在代理目标填写 Node.js 监听的地址(如 http://127.0.0.1:3000),并启用反向代理。
  3. 保存配置并重启 Nginx

    配置完成后,保存并重启 Nginx,然后项目就运行成功了。

第八步:测试和优化
  1. 测试服务

    打开你绑定的域名或服务器的 IP 地址,检查是否可以正常访问你的 Node.js 服务。

  2. 监控和调试

    使用 PM2 的日志功能来监控服务的状态和调试可能的问题:

    bash 复制代码
    pm2 logs my-node-app
  3. SSL 配置(可选)

    如果需要配置 HTTPS,可以在宝塔面板的 SSL 选项中,使用 Let's Encrypt 免费申请证书,并绑定到你的站点。


结语:

通过宝塔面板,你可以轻松将本地的 Node.js 服务部署到线上,并通过 PM2 和 Nginx 实现进程管理和反向代理。整个过程简单高效,即便是没有太多服务器管理经验的开发者,也能快速上手。

希望这篇指南能帮助你顺利将本地 Node.js 服务部署到宝塔面板中!

相关推荐
bjzhang751 天前
Depcheck——专门用于检测 JavaScript 和 Node.js 项目中未使用依赖项的工具
javascript·node.js·depcheck
你不讲 wood1 天前
使用 Axios 上传大文件分片上传
开发语言·前端·javascript·node.js·html·html5
tryCbest1 天前
Nodejs安装配置及创建vue项目
vue.js·node.js
Luckyfif1 天前
Webpack 是什么? 解决了什么问题? 核心流程是什么?
前端·webpack·node.js
熊的猫1 天前
如何封装一个可取消的 HTTP 请求?
前端·javascript·vue.js·网络协议·http·webpack·node.js
黑金IT1 天前
为什么使用Node.js爬虫更优
javascript·爬虫·node.js
API开发2 天前
APISQL企业版离线部署教程
sql·node.js·api·restful·graphql·apisql
前端小垃圾(找工作真难呐)2 天前
将项目从 Webpack 到 Vite 迁移的步骤
前端·webpack·node.js
黑金IT2 天前
Node.js与Python的交互:使用node-pyrunner模块
开发语言·python·node.js·交互
Fan_web2 天前
Node.js——初识Node.js
开发语言·前端·node.js