先建立一张图#
浏览器/手机
│ HTTPS 请求
▼
域名与 DNS ──> Nginx(80/443,反向代理)
│
▼
Node.js / Express API
│ SQL
▼
PostgreSQL
代码:Git 管理 运行环境:Ubuntu + Docker
保障:权限、校验、日志、备份、监控、防火墙你学习的不是三个互不相干的主题:数据库保存数据;后端实现业务规则;服务器让后端持续运行并能被互联网访问。
五个阶段#
阶段 0:基础工具(第 1 周)#
文件与目录、终端基本操作、Git 提交、JavaScript 基础。 成果:能运行 JS 文件,能用 Git 保存一次修改。
阶段 1:数据库(第 2–5 周)#
SQL 增删改查、连接、聚合、约束、表关系、索引、事务。 成果:独立设计“图书借阅”数据库,完成 20 条常用查询。
阶段 2:服务器与网络(第 6–8 周)#
Linux、用户权限、进程与服务、IP/端口、DNS、HTTP、SSH、防火墙。 成果:在虚拟机或云服务器上运行一个 Web 服务,并从本机访问。
阶段 3:后端开发(第 9–13 周)#
Node.js 异步编程、Express 路由/中间件、REST API、数据库访问、校验、认证、授权、测试。 成果:完成带用户登录和权限控制的任务管理 API。
阶段 4:部署与综合项目(第 14–16 周)#
Docker、Nginx、HTTPS、环境变量、日志、备份与恢复。 成果:把完整项目部署上线,并进行一次“从备份恢复”的演练。
每次学习的正确顺序(建议 90 分钟)#
- 10 分钟复习:不看答案说出上次三个核心点。
- 25 分钟学习:只看计划中指定的一节视频或文档。
- 45 分钟动手:自己输入、改需求、故意制造错误并修复。
- 10 分钟记录:填写学习日志,写下“我现在能做什么”。
视频与练习时间至少 1:1。不要复制粘贴整段代码;先手写,再对照。每周保留一次无教程练习。
卡住时怎么处理#
按这个顺序排查:
- 完整阅读错误信息,记录时间、文件、行号、状态码;
- 检查服务是否启动、端口是否正确、环境变量是否存在;
- 用最小输入重现问题;
- 查官方文档对应章节;
- 搜索时使用“产品名 + 版本 + 原始错误文本”;
- 提问时附:目标、实际结果、完整错误、已尝试办法、最小代码。
路线选择说明#
- 为什么推荐 PostgreSQL:SQL 标准支持好,约束、事务和高级查询完整,适合先建立正确的关系型数据库观念。
- 为什么也列 MySQL:中文课程多、就业场景广。主线只选一个,切勿两个教程并行刷。
- 为什么选 Node.js:前后端都可使用 JavaScript,初学时切换成本低。掌握 HTTP、数据库、认证与部署后,迁移到 Python/Java 的核心观念仍适用。
- Python 替代线:已有 Python 基础者,可用 FastAPI 替代 Node.js/Express;其余数据库、服务器和部署阶段不变。
阶段前进规则#
达到以下四项才算学会:
- 能用自己的话解释;
- 能不看教程完成一个小任务;
- 能看懂一次错误并修好;
- 一周后还能重新做出。