文章简介:
将本地开发的 Node.js 项目部署到线上服务器是开发者常见的工作流程之一。在这篇文章中,我将详细介绍如何将本地的 Node.js 服务通过宝塔面板(BT 面板)上线。宝塔面板是一个强大的服务器管理工具,具有简洁的 UI 和丰富的功能,适合用来管理服务器、部署应用程序和维护网站。
正文:
宝塔面板(BT)提供了方便的 Web 界面,简化了服务器管理和网站运维的流程。将本地 Node.js 服务部署到宝塔服务器,经过以下几个步骤即可轻松实现。
第一步:准备你的本地 Node.js 服务
在将服务部署到服务器之前,首先确保你的本地 Node.js 项目已经准备好,并且可以正常启动。
- 安装项目依赖: 如果还没有安装依赖,首先在项目根目录下执行以下命令:
npminstall
- 本地启动项目: 使用以下命令确保项目可以在本地成功运行:
npm start
或者:node app.js
确保应用正常启动并没有报错,浏览器中可以正常访问。 - 配置项目端口: 检查你的
app.js
或server.js
文件,确保定义了服务监听的端口,比如:const port = process.env.PORT||3000;app.listen(port,()=>{ console.log(`Server is running on port ${port}`);});
第二步:准备宝塔面板服务器
如果你已经在宝塔面板上配置了服务器,可以直接跳到下一步。如果还没有,则需要配置一台服务器并安装宝塔面板。
- 购买服务器: 登录阿里云、腾讯云等云服务商平台,选择合适的服务器配置(如 2vCPU、4G 内存),并购买服务器。
- 安装宝塔面板: 登录到你的服务器后,执行以下命令来安装宝塔面板:CentOS 系统:
yum install -y wget&&wget -O install.sh http://download.bt.cn/install/install_6.0.sh &&sh install.sh
Ubuntu/Debian 系统:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh &&sudobash install.sh
执行安装脚本后,系统会提示安装成功,并给出宝塔面板的登录地址、账号和密码。 - 登录宝塔面板: 打开浏览器,访问安装成功时提示的面板地址,使用提供的账号密码登录宝塔。
第三步:安装 Node.js 运行环境
宝塔面板的强大之处在于它支持一键安装各种常用的运行环境。我们需要安装 Node.js 来运行我们的应用。
- 在宝塔面板中安装 Node.js:- 打开宝塔面板的 软件商店。- 在左侧栏中找到 运行环境,然后找到 Node.js。- 选择你需要的 Node.js 版本,点击安装。
- 检查 Node.js 是否安装成功: 安装完成后,打开 终端 或 SSH 工具(如 PuTTY),在命令行中输入以下命令,检查 Node.js 是否已成功安装:
node -v
如果显示 Node.js 的版本号,则安装成功。
第四步:上传你的 Node.js 项目
接下来,你需要将本地的项目文件上传到宝塔面板的服务器。
- 打包你的项目: 在本地项目目录下执行以下命令来打包项目:
zip -r my-node-app.zip .
- 上传到服务器:- 在宝塔面板中,点击左侧的 文件。- 选择你想要存放项目的目录(通常是
/www
目录下),然后点击右上角的 上传 按钮,将my-node-app.zip
文件上传到服务器。- 上传完成后,解压该压缩包,确保所有项目文件上传成功。
第五步:安装项目依赖
- 通过 SSH 登录服务器,进入到你的项目目录:
cd /www/my-node-app
- 安装依赖: 执行以下命令,安装项目的依赖库:
npminstall
这一步会自动读取package.json
中的依赖并进行安装。
第六步:配置 PM2 管理 Node.js 服务
为了让你的 Node.js 服务能够持续运行,我们使用 PM2 来管理应用进程。PM2 是一个非常流行的 Node.js 进程管理工具,支持应用的自动重启和监控。
- 安装 PM2: 在服务器终端中,执行以下命令安装 PM2:
npminstall pm2 -g
- 启动你的 Node.js 服务: 使用 PM2 启动 Node.js 应用:
pm2 start app.js --name "my-node-app"
-app.js
是你应用的入口文件。---name
参数为你的应用命名,方便在多个应用中管理。 - 设置开机自启: 为了确保服务器重启后,Node.js 服务可以自动启动,执行以下命令:
pm2 startuppm2 save
第七步:配置 Nginx 反向代理
在宝塔面板中,我们可以通过 Nginx 反向代理将外部请求转发给 Node.js 服务。
- 安装 Nginx: 在 软件商店 中,找到 Nginx,选择安装。
- 配置 Nginx 反向代理:- 在宝塔面板的左侧,点击 网站,然后点击 添加站点,填写你想绑定的域名和站点信息。- 添加完成后,点击站点的设置,找到 反向代理 选项。- 在代理目标填写 Node.js 监听的地址(如
http://127.0.0.1:3000
),并启用反向代理。 - 保存配置并重启 Nginx: 配置完成后,保存并重启 Nginx,然后项目就运行成功了。
第八步:测试和优化
- 测试服务: 打开你绑定的域名或服务器的 IP 地址,检查是否可以正常访问你的 Node.js 服务。
- 监控和调试: 使用 PM2 的日志功能来监控服务的状态和调试可能的问题:
pm2 logs my-node-app
- SSL 配置(可选): 如果需要配置 HTTPS,可以在宝塔面板的 SSL 选项中,使用 Let’s Encrypt 免费申请证书,并绑定到你的站点。
结语:
通过宝塔面板,你可以轻松将本地的 Node.js 服务部署到线上,并通过 PM2 和 Nginx 实现进程管理和反向代理。整个过程简单高效,即便是没有太多服务器管理经验的开发者,也能快速上手。
希望这篇指南能帮助你顺利将本地 Node.js 服务部署到宝塔面板中!
版权归原作者 宇珩前端记录 所有, 如有侵权,请联系我们删除。