EP09. “GitHub Pages:免费架设静态网站”
🔒 登录后可标记已读- 作品集、活动页、产品说明页这类不需要后台的网站,放 GitHub Pages RM0 主机费就能上线,还有免费 https
- 只支持静态网站(HTML、CSS、JavaScript),不能跑 PHP、不能装 WordPress、没有数据库
- 免费版 GitHub 的仓库要设成 Public 才能用 Pages;私人仓库要付费方案
- 可以绑自己的域名(例如
aidentan.com),DNS 设定跟接 Hostinger 类似 - 以下限制与步骤为 2026-09 查询 GitHub Docs 的资料
重点内容
两种网站类型
| 个人/组织网站 | 项目网站 | |
|---|---|---|
| 仓库名 | 必须叫 用户名.github.io | 任何名字,例如 portfolio |
| 网址 | https://用户名.github.io | https://用户名.github.io/portfolio |
| 数量 | 每个账号只能有 1 个 | 每个仓库都可以开 |
用量限制与禁止用途
| 项目 | 限制 |
|---|---|
| 发布后的网站大小 | 最多 1 GB |
| 来源仓库大小 | 建议不超过 1 GB |
| 流量 | 每月约 100 GB(软性上限) |
| 构建次数 | 每小时约 10 次(软性上限,用自订 GitHub Actions 部署不受此限) |
| 部署时间 | 超过 10 分钟会超时 |
⚠️ GitHub Pages 不能用来做:网店/线上交易、商业 SaaS 服务、处理密码或信用卡等敏感资料。要收款的网站请用 WooCommerce、Shopify 这类方案。
发布步骤(从分支部署)
第 1 步:准备仓库
- 新建 Public 仓库,把网站文件放进去,首页必须叫
index.html(也可以是index.md或README.md),放在根目录或/docs文件夹 - 用 EP05 的方法 push 上去,或在 GitHub 网页 Add file → Upload files 直接拖进去
第 2 步:开启 Pages
- 仓库 Settings → 左侧 Code, planning, and automation 区块里的 Pages
- Build and deployment → Source 选 Deploy from a branch
- Branch 选
main,文件夹选 / (root) 或 /docs,按 Save
第 3 步:等上线
- 通常几分钟内完成,GitHub 说明最多可能要 10 分钟
- 回到 Settings → Pages,上方会显示 Your site is live at … 和网址
- 仓库的 Actions 分页可以看到部署进度;超过一小时还没更新,多半是构建出错,去那里看错误讯息
之后每次 push 到 main,网站都会自动重新发布。
flowchart LR
subgraph A["本地"]
A1["改 index.html"]
end
subgraph B["GitHub"]
B1["push 到 main"]
B2["Pages 自动构建"]
end
subgraph C["访客"]
C1["用户名.github.io"]
end
A --> B1 --> B2 --> C
绑定自己的域名
在 GitHub:
- Settings → Pages → Custom domain 填
www.aidentan.com,按 Save - DNS 生效后,勾选 Enforce HTTPS(证书签发需要时间,GitHub 说明最久可能要 24 小时才能勾)
在域名商 / Cloudflare 的 DNS:
| 类型 | 名称 | 值 |
|---|---|---|
| CNAME | www | 用户名.github.io |
| A | @ | 185.199.108.153 |
| A | @ | 185.199.109.153 |
| A | @ | 185.199.110.153 |
| A | @ | 185.199.111.153 |
- 只想用
www子域名:设 CNAME 就好;想让不带 www 的主域名也能开:再加那四条 A 记录 - 📌 GitHub 建议先验证域名再绑定:个人账号 Settings → Pages → Add a domain,照指示加一条 TXT 记录,防止别人把你的域名接到他们的 Pages 上(takeover)
- 用 Cloudflare 管 DNS 的话,一开始可以先把这几条记录设为灰色云朵(DNS only),让 GitHub 顺利签发证书
⚠️ IP 地址以 GitHub Docs「Managing a custom domain」页面为准,设定前再核对一次。
适合 / 不适合
| ✅ 适合 GitHub Pages | ❌ 不适合 |
|---|---|
| 个人作品集、履历 | WordPress 网站 |
| 活动、课程介绍的单页网站 | 网店、会员系统、要登录的网站 |
| 项目说明、使用手册 | 需要 PHP / 数据库的网站 |
| 用静态网站生成器(Jekyll、Hugo、Astro)做的博客 | 流量很大的商业网站 |
💡 要更多功能(例如表单、更高流量、预览部署),可以比较 Cloudflare Pages、Netlify、Vercel,同样可以连 GitHub 仓库自动部署。
学完你会
- ✅ 分得清个人网站和项目网站的仓库命名与网址
- ✅ 用 Deploy from a branch 发布静态网站
- ✅ 绑定自己的域名并开启 HTTPS
- ✅ 知道 GitHub Pages 的限制和禁止用途
常见错误
- ❌ 首页文件叫
home.html或Index.html:打开网址是 404,首页要叫index.html(全小写)。 - ❌ 免费账号把仓库设成 Private,找不到 Pages 选项:免费版只支持 Public 仓库。
- ❌ 想把 WordPress 放上 GitHub Pages:不支持 PHP 和数据库,要用正式主机。
- ❌ 图片或 CSS 在项目网站上全部失效:路径写成
/css/style.css(从网域根目录找),项目网站网址多了一层/portfolio/,要改用相对路径css/style.css。 - ❌ DNS 刚改完马上勾 Enforce HTTPS:证书还没签发,最久可能要等 24 小时。
Sources
官方文档:
- What is GitHub Pages? - GitHub Docs
- Creating a GitHub Pages site - GitHub Docs
- Configuring a publishing source for your GitHub Pages site - GitHub Docs
- GitHub Pages limits - GitHub Docs
- Managing a custom domain for your GitHub Pages site - GitHub Docs
- Verifying your custom domain for GitHub Pages - GitHub Docs