GitHub Pages / Vercel / 内网穿透三类零成本方案的实操要点(来源 affweb 建站系列 + 2022 年 Notion 建站剪藏)。免费额度速查见 免费层服务与额度清单,Actions 自动化见 GitHub-Actions定时自动化模式。

Hexo 建站三部曲(#654/#655/#656)

  • 建站:npm i -g hexo → hexo init → hexo clean/g/s/d;仓库必须”用户名.github.io”;绑域名 = ping 取 IP + 双解析 + source 下 CNAME 文件;
  • 装修:Butterfly 主题全配置;搜索 hexo-generator-search、RSS hexo-generator-feed、双 sitemap(generator-sitemap + baidu-sitemap);Gitalk 评论需注册 OAuth App(Homepage/Callback 精确到 https);
  • SEO:站长平台文件验证(验证 html 放主题 source 根)+ robots.txt;CRLF 报错 git config --global core.autocrlf false。

Hexo 部署与本地图片的坑(2022 剪藏增补)

  • 私有仓库部署:不想公开源码时不用 CI,直接 hexo-deployer-git 插件 + _config.yml 的 deploy: type: git, branch: gh-pages,一条 hexo clean && hexo deploy 推送静态产物(来源:raw/articles/notion-vps/Github Pages/将 Hexo 部署到 GitHub Pages Hexo.md,2022)。同文教的 Travis CI 方案 2022 年后已被 GitHub Actions 取代,流程模式见 GitHub-Actions定时自动化模式。
  • 本地图片:装 hexo-asset-image(7ym0n fork)+ post_asset_folder: true,hexo new 自动建同名资源目录,图片用相对路径引用;Typora 偏好设置选”复制到指定路径”可自动落盘(来源:raw/articles/notion-vps/Github Pages/使用github及vercel搭建Hexo个人博客 - Johnsonの备忘录.md,2022)。
  • 主题:NexT 的 scheme/menu 在主题 _config.yml 配;Next 菜单可挂中文分类名(如 树莓派: /categories/raspi/)。

Jekyll 的两个坑(2022 剪藏增补)

  • cannot load such file -- webrick:Ruby 3.0 起不再内置 webrick,bundle add webrick 即解(Jekyll 4.x,2021-2022 高发)。
  • GitHub Pages 不支持 jekyll-archives 插件:分类/标签页只能手写——_layouts 里建 category.html 模板循环 site.categories,每个分类建一个只含 front-matter 的页面;中文分类名会报错,用 _data/category.yml 存”英文 value → 中文 title”映射再循环输出(来源:raw/articles/notion-vps/Github Pages/Jekyll生成单个分类页面.md,2022)。

GitBook 文档站(2022 剪藏增补)

模型:Space(≈仓库)> Group(分类)> Page(最小单位,编辑产生 draft,Save 后还须 Merge 才成正式版。Space 可与 GitHub 仓库双向同步:GitBook 改内容自动 push;GitHub 侧加页面需改根目录 SUMMARY.md(定义 group/page 结构)+ 新增 md 文件,且必须在关联分支(如 master)上提交(来源:raw/articles/notion-vps/Github Pages/gitbook 使用.md,2022)。

Gmeek:GitHub Issues 即博客(#627)

模板建仓 → Pages 选 GitHub Actions 源 → 写 issue 带 Label 自动成文;置顶 = Pin issue,删除 = Close + 重建;自定义发布时间 <!-- ##{"timestamp":1490764800}## -->;改 config.json 需手动 Run workflow 全局重建。

GitHub 图床(#652)

public 仓 + PAT + Pages;PicGo 配”用户名/仓库名”+分支+token;外链 = Pages 域名/仓库名/路径;Typora 可联动自动上传。Profile README 美化(#633):shields.io 徽章 / github-readme-stats / waka-readme / snk 贪吃蛇。

定时爬虫 workflow(#651)

PAT(classic,勾 repo/workflow/user)→ on: schedule: cron(UTC)→ checkout 带token → 跑脚本 → git add . && git commit || echo "No changes" && git push。

Vercel 部署三种栈(#634/#636/#650)

  • Express:api/index.js module.exports = app + vercel.json {"rewrites":[{"source":"/(.*)","destination":"/api"}]};静态资源缓存 Cache-Control: max-age=31536000, immutable;
  • Django:build_files.sh(pip install + collectstatic)+ 双 builds(@vercel/python wsgi + @vercel/static-build);ALLOWED_HOSTS 加 .vercel.app;wsgi.py 加 app = application;
  • PHP(Typecho):vercel-php@0.6.0 必须配 Node 18.x(默认 20.x 报 invalid runtime);
  • serverless 三坑:websocket 改轮询/SWR、数据库要连接池、视图模板配缓存;
  • CLI 流程:vercel login → vercel dev 本地 → vercel --prod 上线;Railway 月 $5 额度超限丢数据,务必备份。

临时公网访问(#312/#697)

  • VS Code 端口转发(免费,GitHub 授权):把本地 127.0.0.1 的 http(s) 端口映射公网;限制:仅 http(s)、仅本机端口、remote 开发不可用——适合临时演示;
  • cpolar:随机域名 24h 变,长期用固定二级子域名;Docker 部署 Jupyter 后 token 用 docker logs 取。

Vercel 增补:Python API 与域名接管(2022 剪藏增补)

  • 两种 Python 写法:① api/*.py 文件内 class handler(BaseHTTPRequestHandler) 定义 do_GET;② Flask 单文件 + vercel.json builds(@now/python,2022 写法)+ routes 把 /(.*) 转发到 app.py(来源:raw/articles/notion-vps/Github Pages/通过Vercel 部署轻量级的Python API - Johnsonの备忘录.md,2022)。
  • QQ 邮箱坑:Vercel 会拒绝用 QQ 邮箱作主邮箱的 GitHub 账号,注册前先在 GitHub Settings→Emails 换掉主邮箱(来源:raw/articles/notion-vps/Github Pages/Github和Vercel建站以及配置DNS.md,2022)。
  • 域名接入两种姿势:NS 整体切到 Vercel(面板给两个 nameserver,48h 内生效、实测十几分钟),或在注册商处加 A/CNAME 记录;一级域名配好后二级域名可直接在 Vercel 里加、无需额外设置。
  • 为什么选 Vercel 而不是 Gitee/Coding Pages:绑域名免备案、证书自动、国内访问快(同文实测比 GitHub Pages 快约 7 倍);Gitee 免费版不支持自动部署/绑域名,Coding 绑腾讯存储 CDN 费用不明。

jsDelivr 免费 CDN:加速 GitHub 资源与图床(2022 剪藏增补)

  • URL 公式:https://cdn.jsdelivr.net/gh/用户名/仓库名@版本或latest/文件路径;文件名前插 .min 自动压缩;cdn.jsdelivr.net/combine/路径1,路径2 合并多文件;把 cdn 换成 purge 即清缓存。给 GitHub Pages 博客模板加开关(_config.yml 里 cdn.jsdelivr.enabled,assets_base_url 变量拼前缀),静态资源从 12s 级降到 60ms 级(来源:raw/articles/notion-vps/Github Pages/用 jsDelivr 免费加速 GitHub Pages 静态资源.md,2022)。
  • 图床组合:GitHub 公开仓 + PAT + PicGo(配”用户名/仓库名”+ 分支 + token),外链走 jsDelivr。
  • 坑:走 jsDelivr 的仓库到 50MB 左右资源就可能失效(GitHub 仓 1G 触发人工审核),满了就新建仓库继续白嫖;jsDelivr 对 GitHub 的支持自 2022 年后在中国大陆不稳定,用作图床/CDN 前先实测(AI 分析 + 待核实)。

Cloudflare Pages 要点(2022 剪藏增补)

连接 GitHub 仓库自动构建,框架预设覆盖 React/Vue/Gatsby/Hugo,Hexo 需手填构建命令;绑定域名时若 DNS 已在 Cloudflare 可一键 CNAME,否则手动 CNAME 到默认 pages.dev 域。免费版每月 500 次构建,个人站够用;当时只能从 GitHub 部署、不能直接上传 HTML(来源:raw/articles/notion-vps/Github Pages/使用Cloudflare Pages搭建静态网站.md,2022)。

静态托管平台横评与多节点部署(2022 剪藏增补)

平台国内速度限制/备注
GitHub Pages慢仓库即站点,Actions 扩展强
Netlify / Vercel尚可免费覆盖个人需求,Vercel 打 free forever
Coding(腾讯)快静态托管需实名+手机号
Gitee快免费版无自动部署/绑域名/证书,功能残缺
TCB (CloudBase)很快(国内 CDN)serverless 付费,SSL 可能要备案

多节点方案:Hexo 源码仓库放两个 GitHub Actions——一个渲染后 hexo deploy 推送到 GitHub/Coding/Gitee 三个 Pages 仓(secret 注入 SSH 私钥 + ssh-keyscan 预置 known_hosts),一个用 cloudbase-action 推 TCB;CDN 文件单独建仓走 jsDelivr 作备用 CDN,主 CDN 挂了换链接即切(来源:raw/articles/notion-vps/Github Pages/常见静态网站托管平台使用及多节点部署方案.md,2022)。

Infinityfree + WordPress:免费动态站(2022 剪藏增补)

InfinityFree 号称无限空间/带宽的免费虚拟主机,Softaculous 一键装 WordPress,配 Freenom 域名即完整动态站。坑:每空间每日 5 万点击上限,爬虫几分钟能打爆,超限封 24h(可建 3 个空间轮换);速度无保障(十几秒打开是常态);备选 profreehost 更快但有强制广告。识别别人 WordPress 主题:查源码 wp-content/themes/ 后的目录名,或用 whatwpthemeisthat.com(来源:raw/articles/notion-vps/Github Pages/Infinityfree + WordPress 免费建站.md 等,2022)。

免费域名与 Cloudflare 解析(2022 剪藏增补)

  • eu.org:免费二级域名(形如 xxx.eu.org),注册后 New Domain 提交 + 填 DNS 服务器(建议直接填 Cloudflare 分配的两个 NS),人工审核通过即可用;国内 http 访问被重置,走 https 正常;CF 提示”域名未注册”时多按几次 Add site(来源:raw/articles/notion-vps/VPS/申请eu.org免费域名,实现建设网站第一步.md,2022)。
  • Freenom(.tk/.ga/.ml/.gq/.cf):2021-2022 时需美国原生 IP + 虚拟美国身份(whoer.net 验环境、fakenamegenerator 生成信息)才能注册成功,否则触发人工审查;Freenom 已于 2023 年停止免费域名注册业务(AI 补充,待核实),此流程仅作历史参考(来源:raw/articles/notion-vps/VPS/Freenom 申请免费域名.md,2022)。
  • Cloudflare 解析:add site → 选 Free $0 计划 → 按提示到注册商把 NS 改成 CF 分配的两个地址。注意 CF CDN 对国内访客可能反而变慢(“开启 CDN 即国内减速”),追求国内速度应灰云直连或选国内 CDN。免费域名的长期风险与付费选型见 域名与免费子域选型。

Django 自托管部署:SimpleUI + uwsgi(2022 剪藏增补)

有服务器(VPS/树莓派)跑 Django 后台时:pip install django-simpleui django-import-export,且 'simpleui' 必须放 INSTALLED_APPS 第一行才会接管 Admin 主题;上线 uwsgi.ini(socket=127.0.0.1:8997、chdir、wsgi-file、processes/threads、daemonize)+ nginx 反代,更新用 uwsgi --reload uwsgi.pid;pip freeze > requirements.txt 迁移依赖,ALLOWED_HOSTS 放行(来源:raw/articles/notion-devops/Python/Django SimpleUI管理系统安装及部署.md,2022)。与上文 Vercel 部署 Django(#636)互为免费/自托管两条路线。

原始素材

  • #312 VS Code免费提供内网穿透端口转发服务,支持
  • #627 Gmeek快速上手
  • #633 如何打造一个花里胡哨的Github个人主页? -
  • #634 将 Node 应用 Express.js 部署到
  • #636 Deploy a Django app with
  • #638 Vercel搭建线上项目 (无服务器版-免费)-
  • #650 零成本搭建个人 APP 和小程序后台
  • #651 零成本 API 服务搭建,用 GitHub Ac
  • #652 零成本搭建个人图床服务器
  • #654 Hexo最新实战:(一)零成本搭建个人独立网站
  • #655 hexo实战:(二)个人独立博客豪华装修合集
  • #656 hexo 实战:(三)独立博客运营总结
  • #697 如何在ubuntu使用Docker部署Jupyt

Notion 剪藏(2022)

  • hexo史上最全搭建教程(基础三部曲,与 654-656 重叠部分未重复收录)
  • 将 Hexo 部署到 GitHub Pages(官方文档)
  • 使用github及vercel搭建Hexo个人博客
  • Hexo Next主题使用
  • Jekyll webrick 报错
  • Jekyll生成单个分类页面
  • gitbook 使用
  • 通过Vercel 部署轻量级的Python API
  • Github和Vercel建站以及配置DNS
  • 用 jsDelivr 免费加速 GitHub Pages 静态资源
  • 利用GitHub+jsdelivr搭建一个图床
  • 使用Cloudflare Pages搭建静态网站
  • 常见静态网站托管平台使用及多节点部署方案
  • Infinityfree + WordPress 免费建站
  • 查看别人的WordPress网站用的是哪个主题
  • 申请eu.org免费域名
  • Freenom 申请免费域名
  • Cloudflare 解析域名
  • Django SimpleUI管理系统安装及部署

相关页面

出处 · https://github.com/szwnba/affweb/issues/ (654, 655, 656, 627, 652, 633, 634, 636, 638, 650, 651, 312);raw/articles/notion-vps/(Github Pages 树 24 页,2022 剪藏);raw/articles/notion-devops/Python/