《华为云Node.js部署:从开发环境到生产上线的完整指南》

引言

在当今的互联网开发中,将本地开发的项目部署到云服务器是一个关键步骤,它使得应用能够被全球用户访问。本次部署过程涵盖了从服务器配置、代码上传、依赖安装、进程管理到安全防护的全流程。通过使用 SSH 远程连接服务器、Node.js 运行后端服务、PM2 管理进程,并配置 UFW 防火墙 和 云平台安全组,我们成功将一个 Node.js 应用部署到了云服务器上,并通过公网 IP 实现了外部访问。

这一过程不仅涉及基础的环境搭建,还包括了生产环境下的优化与安全考量,如 进程守护、开机自启、日志监控 等。通过本次实践,我们能够更深入地理解服务器部署的核心步骤,并为后续的 DevOps 和自动化部署打下基础。

第一步: 重置密码

设置好密码,等下连接服务器,需要输入密码。
在这里插入图片描述

第二步:连接到服务器

在Windows上,您可以使用PowerShell或命令提示符:

ssh root@123.60.165.250

在这里插入图片描述

连接成功后,您会看到Linux命令行界面

第三步:安装必要软件

这个是云服务器的公网IP地址。

在这里插入图片描述
输入以下命令更新系统并安装Node.js:

sudo apt update

在这里插入图片描述

sudo apt upgrade -y
在这里插入图片描述

如果有冲突可以选择"keep the local version currently installed"(保留当前安装的本地版本)
云服务提供商可能已经为安全和远程访问配置了特定设置。更改SSH配置可能会影响您连接到服务器的能力,对于标准部署来说,默认的SSH配置通常足够了。

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

在这里插入图片描述

sudo apt install -y nodejs git

在这里插入图片描述

node -v
npm -v

在这里插入图片描述

第四步:创建项目目录

在这里插入图片描述

第五步:将代码上传到服务器

现在我们需要将项目代码上传到服务器。由于已经连接到了服务器,所以这个终端不关闭,等下还要安装依赖。

1、安装 FileZilla

FileZilla传送🚪
在这里插入图片描述

2、打开FileZilla,连接到您的服务器:

在这里插入图片描述

3、连接后,导航到您本地的项目目录

在这里插入图片描述

我上传完成啦。
在这里插入图片描述

4、在服务器上运行:

打开刚刚的控制台,如果像我这样,看绿色的,突然变回86187了,就是没连上服务器。
SSH连接被重置了,这是正常现象,不用担心。需要重新连接到服务器。

ssh root@123.60.165.250

在这里插入图片描述

进入目录

cd /opt/zh-telephone
npm install

在这里插入图片描述

如果遇到"npm command not found"错误,需要先安装Node.js:

sudo apt update

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

sudo apt install -y nodejs

第六步:安装PM2并启动服务

1、安装PM2进程管理器

sudo npm install -g pm2

在这里插入图片描述

2、启动服务器

pm2 start server/index.js --name zh-telephone-server

在这里插入图片描述

3、设置开机自启

pm2 save
pm2 startup

在这里插入图片描述

第七步、配置防火墙

1、开放应用端口

sudo apt install -y ufw
sudo ufw allow ssh
sudo ufw allow 5000 # 假设您的应用运行在5000端口
sudo ufw enable

在这里插入图片描述

关于选择端口:
云服务器和本地机器是完全独立的系统,每个系统有自己的端口空间。
云服务器的 5000 端口只在云服务器上监听,不会影响本地机器。
但是,如果用户的前端应用在本地开发时也使用 5000 端口,那么确实可能会有冲突。在这种情况下,用户可以考虑在云服务器上使用不同的端口,或者确保本地开发服务器和云服务器不会同时运行。

第八步、检查服务器是否正常运行:

pm2 status

在这里插入图片描述

查看日志

pm2 logs zh-telephone-server

在这里插入图片描述

第九步、云服务器安全组配置

您需要在云服务器控制台中配置安全组规则,允许5000端口的入站流量:

1、登录云服务器控制台

在这里插入图片描述

2、找到"安全组"或"防火墙"设置

在这里插入图片描述

3、添加一条规则,允许TCP 5000端口的入站流量

在这里插入图片描述

4、访问http://123.60.165.250:5000/

在这里插入图片描述

总结

本次Node.js应用部署实践完整走通了从本地开发到云服务器上线的全流程,包括服务器SSH连接、Node.js环境搭建、代码上传、PM2进程管理、防火墙配置等关键环节。通过系统性的操作,不仅成功实现了应用的公网访问,更深入理解了生产环境部署的核心要点:使用PM2守护进程确保服务稳定性,配置UFW防火墙和云平台安全组构建双重防护,以及通过日志监控实时掌握运行状态。这次实践既巩固了基础的Linux服务器操作技能,也为后续探索Nginx反向代理、Docker容器化等进阶部署方案奠定了坚实基础,完整展现了从开发到上线的标准化部署路径,对构建可靠的Web服务具有重要意义。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yoona1020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值