Vanblog博客建站全指导教程
编辑
2025-05-30
建站教程
00

目录

1. 选定博客框架:VanBlog 二次开发版
2. 域名购买与托管
3. 服务器与穿透方案的考虑
4. 备案流程详解
5. 博客部署(在小主机)
6. Caddy 反向代理配置(在公网服务器)
7. 博客后台配置
8. 完整链路

如何搭建一个自己的博客,下面是我这个博客搭建的过程:


1. 选定博客框架:VanBlog 二次开发版

  • 核心优势
    使用基于 VanBlog 的二次开发版本(xxddccaa/vanblog),集成以下特性:

    • 开箱即用:Docker Compose 一键部署,降低环境依赖复杂度。
    • 性能优化:完整标题显示、后台列表换行支持、代码块折叠功能、Admin免登录,提升用户体验。
    • 安全性:默认关闭评论系统(符合公安备案要求),集成 Mermaid 图表支持。
  • 代码结构

    bash
    展开代码
    ├── packages/ │ ├── admin # 后台管理界面(Ant Design Pro) │ ├── website # 前端页面(Next.js + Tailwind CSS) │ ├── server # 后端服务(NestJS + MongoDB) │ └── waline # 可选评论系统 └── docker-compose.yml # 容器化编排

    注意:使用这个 docker compose.yaml 文件即可使用 docker compose 一键部署: https://github.com/xxddccaa/vanblog/blob/master/docker-compose/docker-compose.yml


2. 域名购买与托管

  • 购买建议

    • 在阿里云万网(控制台链接)注册域名,可以选择 .fun.xyz 等低价后缀。
    • 实名认证:确保域名与服务器主体一致(个人备案需上传身份证照片+域名证书)。
  • Cloudflare 托管

    • 登录 Cloudflare 创建站点,将阿里云DNS解析迁移至 Cloudflare (托管)。

    • 配置要点

      • DNS 记录:添加 A 记录指向公网服务器 IP。(国内服务器部署Web服务都需要ICP备案,ICP备案后才可以添加DNS记录,否则先不要添加解析记录!)
      • SSL/TLS:选择“完全加密”模式,配合 Caddy 自动证书管理。
      • API 令牌:生成权限为 Zone:ReadDNS:Edit 的 Token,用于 Caddy DNS 挑战。
  • 我以前有个关于这个的教程:https://www.dong-blog.fun/post/1174


3. 服务器与穿透方案的考虑

  • 服务器选择

    • 不得不考虑这些因素;连接速度、数据安全、数据转移、资源大小(我推荐3G内存,所以最好是做内网穿透)
    • 国内推荐腾讯云/阿里云/火山/华为轻量级服务器(3GB 内存起步效果更佳),三网优化保障低延迟。国内服务器需要ICP备案和公安备案!
    • 海外不推荐,因为晚上是真的慢或者访问不了,但是不需要备案,但我经过长期使用,我觉得还是国内服务器的网络好才是最关键的问题,备案反而是小事情。
  • 内网穿透(NPS 方案)

    • 部署 NPS 服务端(公网服务器)与客户端(内网主机),映射 801 TCP 端口。
    • 穿透优势:数据存储转移比较方便。
    • 教程参考:内网穿透部署指南

4. 备案流程详解

  • ICP 备案(20工作日内):

    1. 删除域名全部 DNS 解析(这样才能ICP备案)。
    2. 提交材料:个人身份证、服务器截图、域名证书(阿里云下载),建议截图和证书都提供,这样审核更快。
    3. 服务名称建议:xxx的学习笔记xxx的随笔日记,降低审核驳回风险。
    4. 你的服务器应该是你自己的,别人的服务器也没法备案。
    5. 审核通过后,短信通知,可以去控制台看ICP备案号码。
    6. 审核通过后,在博客底部添加ICP备案编号(admin后台设置)。
  • 公安备案(1个月缓冲期):

    1. 登录 公安部备案平台,提交网站信息。
    2. 关键要求:关闭评论区(本二次开发的博客框架已默认关闭)、无违法内容,不要有商业交易、涉及敏感话题、不要别人可以注册评论!
    3. 审核通过后,在博客底部添加公安备案编号与链接(admin后台设置)。

5. 博客部署(在小主机)

  • 一键部署

    bash
    展开代码
    # 方法1:拉取项目并靠源码编译来启动博客(不推荐) git clone https://github.com/xxddccaa/vanblog.git cd vanblog && docker compose up -d --build # 方法2:直接用我编译好的镜像结合docker compose启动博客(推荐) wget https://github.com/xxddccaa/vanblog/blob/master/docker-compose/docker-compose.yml docker compose up -d

6. Caddy 反向代理配置(在公网服务器)

  • 自动证书管理

    写个Dockerfile文件:

    Dockerfile
    展开代码
    # Dockerfile FROM caddy:latest RUN caddy add-package github.com/caddy-dns/cloudflare
  • Caddyfile 配置

    域名写为你自己要代理的域名,写个Caddyfile文件:

    caddy
    展开代码
    dong-blog.fun, www.dong-blog.fun { reverse_proxy http://公网IP:801 # 反代至公网服务端口 tls { dns cloudflare {env.CLOUDFLARE_API_TOKEN} } }
  • docker-compose.yml 配置

    写个docker-compose.yml文件:

    caddy
    展开代码
    services: caddy: build: . container_name: caddy restart: unless-stopped network_mode: host volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./caddy_data:/data/caddy environment: - CLOUDFLARE_API_TOKEN=写出你自己的cf令牌
  • 部署Caddy命令

    bash
    展开代码
    docker compose up -d --build

7. 博客后台配置

  • 基础设置
    • 关闭评论系统(已默认关闭,无需操作)。
    • 填写备案编号:后台 → 设置 → 站点信息。

8. 完整链路

image.png

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!