1. 项目概述
1.1 这个项目到底在做什么
如果你点进这篇文章,大概率和我一样,正在经历从“本地能跑”到“服务器上也能跑”的蜕变期。这个项目的标题很直白——Vue3 前端 + Node.js 后端 + MongoDB 数据库,一套全栈项目从零开始开发,最终部署到阿里云服务器上。简单说,就是用一套完整的真实项目流程,把“开发环境搭建”和“生产环境部署”这两件看似简单、实则坑不少的事情彻底走通。
这套技术栈在 2024 年的中小型项目里非常主流:Vue3 负责页面交互,Node.js 负责接口逻辑,MongoDB 负责数据存储。三者的组合很适合快速迭代的 Web 应用,尤其是 CMS 内容管理、小程序后台、个人博客这类体量的项目。相比 Java + MySQL 那套传统组合,这套技术栈更轻、更灵活,尤其适合个人开发者和小团队快速验证业务模型。
1.2 适合谁来参考
- 刚学完 Vue3 和 Node.js 基础,想了解“真实项目”长什么样的前端/全栈初学者。
- 已经在本地把项目跑通了,但不知道如何从零部署到云服务器的新手。
- 被 MongoDB 安装、端口配置、反向代理、HTTPS 证书等环节折磨过,想直接找到一套“可复现方案”的开发者。
这篇文章不追求大而全,而是按照我自己从本机到阿里云的完整流程来写,过程中会把每一步的选择理由和踩坑经历都交代清楚。你能直接照着操作,也能在遇到问题时快速定位排查。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型思路:为什么是 Vue3 + Node.js + MongoDB + 阿里云
2.1 前后端技术栈的匹配逻辑
先说前端。Vue3 现在已经是 Vue 生态的绝对主线版本,组合式 API 让组件逻辑复用变得干净很多。配合 Vite 构建工具,开发体验确实比 Webpack 时代流畅不少——热更新几乎是秒级响应。如果你之前用过 Vue2,切到 Vue3 之后,最大的感触应该是“终于不用在 data 和 methods 之间来回跳了”。
再说后端,Node.js 选择 Express 或 Koa 框架。对于中小型项目的 CRUD 接口、文件上传、登录鉴权这些常规需求,Node.js 的异步非阻塞模型完全够用,而且前后端都用 JavaScript,心智负担小得多。我个人的习惯是使用 Express,因为它的中间件生态足够成熟,部署时配合 PM2 做进程守护也很方便。
最后是数据库。MongoDB 的文档型数据结构对前端开发者特别友好,存储 JSON 风格的数据几乎不需要做对象关系映射。在这个项目里,用户信息、文章内容、日志记录都直接用对象形式写入,查询时的条件表达也更接近“自然语言”。相比 MySQL 的建表、关联查询,MongoDB 的上手速度对团队里有前端背景的成员来说明显更快。
2.2 部署平台为什么选阿里云
国内云厂商里,阿里云的基础文档最全,遇到问题搜出来的教程匹配度也最高。尤其是域名备案、SSL 证书、安全组规则这几个环节,阿里云控制台的操作路径相对清晰。ECS 云服务器按量付费的模式也适合用来做技术验证——先低配跑起来,不够再加。
选择 CentOS 或 Ubuntu 作为服务器系统都可以。我个人偏好 Ubuntu,因为软件源更新快,apt 安装 Node.js 和 MongoDB 更省事。如果选 CentOS,很多命令要换成 yum,且有些软件源需要额外配置 EPEL,稍麻烦一点。这篇文章以 Ubuntu 20.04/22.04 为例。
2.3 整体架构预览
code复制用户浏览器
↓ HTTPS
阿里云负载均衡 / Nginx
↓ 反向代理
Node.js 应用(Express 接口服务,端口 3000)
↓
MongoDB(端口 27017,仅内网访问)
前端打包后的静态资源由 Nginx 直接托管,接口请求通过 Nginx 反向代理到 Node.js 进程。MongoDB 不直接暴露到公网,只监听内网地址,避免数据库被外部扫描工具碰运气破解。
3. 本地环境搭建与项目初始化
3.1 Node.js 安装:版本选择比安装本身更重要
在本地开发机上安装 Node.js,我建议直接去官网下载 LTS 版本。目前 LTS 是 20.x 系列,建议不要用最新的 24.x,因为部分 npm 原生模块的预编译二进制可能还没跟上,编译源码容易踩坑。
注意:MongoDB 官方驱动对 Node.js 版本有明确的支持范围。以 mongoose 为例,较老版本在 Node 18 之后遇到过一些兼容性告警,用 LTS 版本可以最大程度避免这类问题。
Linux/Mac 环境下推荐用 nvm 管理 Node 版本,方便切换;Windows 用户直接下载 .msi 安装包即可,它会自动配置环境变量。安装完成后,在终端输入以下命令验证:
bash复制node -v
npm -v
确认两个版本号都能正常输出,说明 Node.js 和 npm 已经可用。npm 是随 Node.js 一起安装的,不需要单独下载。
如果你的网络环境访问 npm 官方源较慢,可以切换为国内镜像源:
bash复制npm config set registry https://registry.npmmirror.com
3.2 MongoDB 安装与启动
MongoDB 的安装在不同系统上差异较大,这里分别说明。
Windows 环境
下载 MongoDB Community Server 的 .msi 安装包,安装过程中选择 “Complete”,然后勾选 “Install MongoDB as a Service” 和 “Install Compass”。安装完成后,MongoDB 会作为 Windows 服务在后台运行,默认端口 27017。
安装后一定要检查服务是否真的起来了:
bash复制net start | findstr MongoDB
如果想手动启停:
bash复制net stop MongoDB
net start MongoDB
CentOS / Ubuntu 环境
Ubuntu 用户需要先导入 MongoDB 官方的 GPG 公钥,然后添加软件源。以 Ubuntu 22.04 安装 MongoDB 6.0 为例:
bash复制wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
安装完成后,启动服务并设置开机自启:
bash复制sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
如果启动失败,先看日志文件 /var/log/mongodb/mongod.log,90% 的情况是权限问题或数据目录未创建。
Docker 方式(适合本地快速体验)
如果你已经习惯 Docker,一条命令就能启动 MongoDB:
bash复制docker run -d \
--name mongodb \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
-v mongodb_dat
