教程三 · 免费托管

测试 / 学习用途免费部署

零成本上线你的网站,GitHub Pages、Vercel、Netlify、Cloudflare Pages 四平台全攻略

🕐 最快 5分钟上线 💰 完全免费 ⚡ 难度:入门 🌐 适用:学习、测试、作品集
GitHub Pages
最经典的静态网站托管,与 Git 深度集成
  • 完全免费,无限流量
  • 自动从 GitHub 仓库部署
  • 支持自定义域名
  • 免费 HTTPS 证书
限制:仅静态网站,仓库需公开(私有仓库需付费)
Vercel
最适合前端框架(Next.js/Vue/React),极速全球 CDN
  • 每月 100GB 免费流量
  • 支持 Serverless Functions
  • 自动预览每个 PR
  • 推送代码自动部署
限制:商业项目需购买 Pro 计划
Netlify
功能最全面,支持表单、函数、A/B测试
  • 每月 100GB 免费流量
  • 拖拽文件夹即可部署
  • 内置表单收集功能
  • 支持 Edge Functions
限制:免费版构建分钟数 300 分钟/月
Cloudflare Pages
无限请求,全球最快 CDN,企业级基础设施
  • 无限带宽和请求
  • 500次/月免费构建
  • 支持 Workers 后端
  • 全球 200+ 节点
限制:国内访问速度一般(未备案域名)

🤔 不知道选哪个?看这里

纯 HTML/CSS/JS 作品集
GitHub Pages(最简单)
React / Next.js / Vue 项目
Vercel(官方出品,性能最优)
需要表单、无后端小功能
Netlify(内置更多功能)
需要边缘计算/大流量测试
Cloudflare Pages(无限带宽)
🐙

方式一:GitHub Pages

最适合纯静态网站,5分钟部署完成

前提:安装 Git 并登录 GitHub

Terminal — 配置 Git
# 安装 Git(已安装跳过)
# macOS:  brew install git
# Windows: 下载 https://git-scm.com/download/win
# Linux:   sudo apt install git

# 配置用户信息(只需设置一次)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 验证
git --version  # git version 2.x.x

方案 A:个人主页(yourname.github.io)

GitHub 操作 + Terminal
# 1. GitHub 上创建名为 "用户名.github.io" 的仓库
#    例如:johndoe.github.io
#    注意:必须公开(Public),名字必须完全匹配

# 2. 本地初始化并推送
cd 你的网站文件夹
git init
git add .
git commit -m "Initial commit: add website"
git branch -M main
git remote add origin https://github.com/你的用户名/你的用户名.github.io.git
git push -u origin main

# 3. 等待 1-2 分钟,访问 https://你的用户名.github.io
# ✅ 完成!

方案 B:项目子路径(多个项目)

Terminal — 项目页面部署
# 在 GitHub 创建普通仓库,比如 "my-portfolio"
git init
git add .
git commit -m "Add project"
git remote add origin https://github.com/你的用户名/my-portfolio.git
git push -u origin main

# 开启 GitHub Pages:
# 仓库 Settings → Pages → Source → Deploy from branch
# Branch: main, Folder: / (root)
# 保存后访问:https://你的用户名.github.io/my-portfolio/

方案 C:使用 gh-pages 分支(框架项目推荐)

Terminal — React/Vue 项目部署
# 安装 gh-pages 工具
npm install --save-dev gh-pages

# package.json 添加配置
"homepage": "https://你的用户名.github.io/项目名",
"scripts": {
  "predeploy": "npm run build",
  "deploy": "gh-pages -d build"
}

# 部署命令(以后每次更新都运行这一条)
npm run deploy

# GitHub Pages 选择 gh-pages 分支即可

每次更新网站的命令

Terminal — 日常更新
# 修改完文件后,执行以下命令
git add .
git commit -m "Update: 描述你的修改"
git push
# GitHub Pages 会在 1-3 分钟内自动更新

方式二:Vercel

最适合 Next.js、React、Vue 等前端框架

方法一:导入 GitHub 仓库(推荐)

  • 访问 vercel.com → 点击「Sign Up」用 GitHub 账号登录
  • 点击「Add New → Project」
  • 选择你的 GitHub 仓库,点击「Import」
  • Vercel 自动识别框架(Next.js/React/Vue),无需配置
  • 点击「Deploy」,等待 1-2 分钟
  • 获得 .vercel.app 免费域名,以后每次 git push 自动部署
Vercel 会自动识别 package.json 中的构建命令,全程零配置。

方法二:Vercel CLI 命令行部署

Terminal — Vercel CLI
# 安装 Vercel CLI
npm install -g vercel

# 登录
vercel login

# 在项目目录中执行部署
cd 你的项目目录
vercel
# 按提示回答几个问题即可

# 部署到生产环境
vercel --prod

# 查看部署列表
vercel ls

环境变量配置(数据库、API Key 等)

Terminal — 设置环境变量
# 方法一:CLI 设置
vercel env add DATABASE_URL
vercel env add API_SECRET_KEY

# 方法二:控制台设置
# 项目 Settings → Environment Variables → Add
# 可以分别设置 Production/Preview/Development 的值
🟦

方式三:Netlify

最简单的部署:拖拽文件夹即可上线

超级简单:拖拽部署

  • 访问 netlify.com → 注册账号(用 GitHub 登录最快)
  • 在 Dashboard 页面,将你的网站文件夹直接拖进页面
  • 等待 30 秒,自动获得 .netlify.app 域名
  • 完成!世界上最简单的部署方式
💡
拖拽部署只能上传静态文件,适合纯 HTML/CSS/JS 网站。需要自动部署请用 GitHub 连接。

进阶:连接 GitHub 自动部署

Terminal — netlify.toml 配置文件
# 在项目根目录创建 netlify.toml

[build]
  command = "npm run build"   # 构建命令
  publish = "dist"             # 构建输出目录

[build.environment]
  NODE_VERSION = "20"

# SPA 路由配置(防止刷新 404)
[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200

# 自定义请求头
[[headers]]
  for = "/*"
  [headers.values]
    X-Frame-Options = "DENY"
    X-XSS-Protection = "1; mode=block"

Netlify Forms:无后端表单收集

HTML — 添加 netlify 属性即可
<!-- 只需添加 data-netlify="true",无需任何后端代码 -->
<form name="contact" method="POST" data-netlify="true">
  <input type="hidden" name="form-name" value="contact" />
  <input type="text" name="name" placeholder="姓名" />
  <input type="email" name="email" placeholder="邮箱" />
  <textarea name="message"></textarea>
  <button type="submit">发送</button>
</form>
<!-- 收到的表单提交在 Netlify 控制台 Forms 菜单查看 -->
☁️

方式四:Cloudflare Pages

无限带宽,全球最快 CDN,适合大流量测试

部署步骤

  • 注册 cloudflare.com 账号(免费)
  • 进入 Pages → 创建项目 → 连接 Git
  • 授权 GitHub/GitLab,选择仓库
  • 配置构建命令(例如 npm run build)和输出目录(dist)
  • 点击「保存并部署」,获得 .pages.dev 免费域名

Cloudflare Workers:轻量级后端

workers.js — 简单 API 示例
export default {
  async fetch(request, env) {
    const url = new URL(request.url);

    if (url.pathname === '/api/hello') {
      return new Response(
        JSON.stringify({ message: 'Hello from Cloudflare!' }),
        { headers: { 'Content-Type': 'application/json' } }
      );
    }

    return new Response('Not Found', { status: 404 });
  }
};

四平台详细对比

对比项GitHub PagesVercelNetlifyCloudflare Pages
免费流量无限制100GB/月100GB/月无限制
构建次数无限100次/天300分钟/月500次/月
自定义域名
免费 HTTPS
Serverless✅ 强✅ 中✅ Workers
国内访问速度慢(未备案)
最适合场景作品集/文档React/Next.js静态+表单大流量测试
上手难度最简单简单最简单简单
+

绑定自定义域名(通用步骤)

  • 在平台的项目设置中找到「Domains」或「Custom Domain」
  • 输入你的域名,平台会给你一个 CNAME 值
  • 去域名注册商(阿里云/腾讯云/Namecheap)添加 CNAME 记录
  • 主机记录填 www,记录值填平台给的 CNAME
  • 等待 5–30 分钟 DNS 生效,HTTPS 自动签发
⚠️
国内域名需要备案才能绑定到国内服务器。但这些平台(GitHub/Vercel/Netlify)的服务器在境外,不需要备案即可绑定国内域名。