极客前沿

手把手教你部署第一个 Node.js 项目到 AWS

2026-05-31 01:34
DEV Beginners
查看原文

从零开始,一步步把你的本地应用部署到 AWS 云服务器,并让它持续在线。

准备工作:确保本地项目没问题

在开始部署之前,先确认你的 Node.js 应用在本地能正常运行。打开浏览器访问 localhost:3000(或你设定的端口),检查所有路由和接口是否正常。远程调试比本地麻烦得多,所以先解决所有本地问题。

另外,确保 package.json 里有正确的启动脚本(例如 "start": "node app.js")。同时,把 .env 文件加入 .gitignore,防止敏感信息上传到 GitHub。最后将代码推送到 GitHub 仓库。

创建并连接 AWS EC2 实例

EC2 是 AWS 提供的虚拟服务器,你可以把它理解为一台远程电脑。登录 AWS 控制台,进入 EC2 服务,点击“启动实例”。选择 Ubuntu 系统,创建或使用已有的密钥对(.pem 文件)用于 SSH 登录。安全组规则暂时保持默认,稍后我们会修改。实例启动后,记录它的公有 IPv4 地址

打开终端,使用以下命令连接你的实例(替换密钥文件和 IP 地址):

ssh -i your-key-file.pem ubuntu@your-public-ip

连接成功后,你会看到 Ubuntu 欢迎信息。

在服务器上安装 Node.js 并部署代码

首先更新服务器软件包:

sudo apt update && sudo apt upgrade -y

安装 Node.js(这里使用 NodeSource 方式):

Tutorial Image
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

验证安装:node -vnpm -v 应显示版本号。

从 GitHub 克隆你的项目代码:

git clone https://github.com/你的用户名/你的仓库.git
cd 你的仓库

安装依赖:npm install。然后手动创建 .env 文件(因为它在 .gitignore 中),填入你的环境变量。

尝试启动应用:npm start。如果一切正常,你会看到服务器启动日志。

开放端口并保持应用持续运行

默认情况下,AWS 阻止所有外部流量。你需要开放应用端口(例如 3000)和安全组规则。在 EC2 控制台找到你的实例,点击“安全组”,添加入站规则:类型选择“自定义 TCP”,端口填 3000,来源设为“0.0.0.0/0”(允许所有 IP)。保存后,在浏览器中访问 http://你的公有IP:3000,应该能看到你的应用。

但这样关闭终端后应用会停止。使用 pm2 让应用在后台持续运行:

sudo npm install -g pm2
pm2 start npm --name "my-app" -- start
pm2 save
pm2 startup

最后一条命令会生成一个启动脚本,确保服务器重启后 pm2 自动运行。现在你的应用就 24/7 在线了!

常见坑提醒:如果浏览器无法访问,先检查安全组是否开放了正确端口;确保 .env 文件已正确创建;如果使用其他端口,记得相应调整。

内容来源

DEV Beginners

发布时间

2026-05-31 01:34

返回 AI技术