跳至主要內容

搭建个人博客纪要

生活约 972 字大约 3 分钟

服务器搬家必备文章


整体思路

动静分离

  • 博客页面、代码、HTML/CSS/JS 放在自己服务器
  • 图片、资源、大文件全部放又拍云 CDN,不占用服务器带宽

域名严格分工

  • 主站:A 记录 → 自己服务器
  • 图床:CNAME → 第三方 CDN

证书分工明确

  • 主站证书:1Panel 自动续期
  • 图床证书:又拍云后台自动续期

全程自动化

  • 写文章 → Git 提交 → 自动上线,无需手动传文件

购买腾讯云服务器,安装OnePanel面板

国内服务器必须备案才能使用 80/443 端口,这是硬性规定。

1、在云厂商买腾讯云轻量服务器,选择安装One Panel面板

2、one panel安装必备软件 openresty pureftpd,一个用来做服务转发的网关,一个用来支持静态代码的上传

进入【应用商店】安装两个核心组件,全部开启开机自启

  • OpenResty(增强版 Nginx):承载 Web 站点、反向代理、HTTPS 加密、HTTP 跳转规则,所有网站运行依赖。

  • Pure-FTPd:1Panel 虚拟 FTP 服务,支持每个网站创建独立隔离 FTP 账号。站点目录权限隔离,防止越权访问;完美适配 Github Actions 自动部署

3、设置防火墙端口:腾讯轻量云存在 两层防火墙,必须全部放行

  • 腾讯云控制台防火墙(云厂商层)
  • 1Panel 面板防火墙(服务器本地层)必须放行 TCP 端口
  • 80 HTTP

  • 443 HTTPS

  • 21 FTP 主动端口

  • 39000-40000 FTP 被动端口段

  • 8090 面板后台

  • 22 ssh登录端口

重点坑点:

FTP 连接超时 ETIMEDOUT control socket

99% 原因:被动端口段未放行

域名购买 + ICP 备案

  1. 腾讯云购买顶级域名 xxx.top

  2. 提交个人 ICP 备案

  3. 等待审核完成(3~7 天)

未备案域名,国内服务器无法正常使用 HTTPS 建站

域名解析配置:使用腾讯云DNS pod

解析方案

  • 主站:xxx.top → A 记录 → 你的轻量云 IP
  • 图床:pic.xxx.top → CNAME 记录 → 又拍云 Bucket 域名

核心概念区别

  • A 记录:域名指向独立公网 IP。适用:自己服务器部署的网站
  • CNAME 记录:域名指向另一个域名地址。适用:对象存储、CDN、第三方托管资源

如果 pic.xxx.top 使用 CNAME 指向又拍云:绝对不能在 1Panel 创建同名站点!

否则 Nginx 监听 443,流量乱窜,导致:ERR_SSL_VERSION_OR_CIPHER_MISMATCH 协议不匹配错误

OnePanel申请主站域名的自动续期SSL证书

仅对 主站 xxx.top 配置 SSL

配置流程

  1. 网站设置 → SSL 证书
  2. 选择 Let’s Encrypt 免费证书(先在腾讯云申请子账号,记住aksk,证书申请页选择腾讯云DNS账户)
  3. 开启 自动续期
  4. TLS 设置:
    • 开启 TLS1.2 + TLS1.3
    • 关闭 TLS1.0/1.1
  5. 加密套件:Mozilla 兼容模式
  6. 开启 HTTP 强制跳转 HTTPS

三者区别

  1. 域名解析:决定流量去哪里
  2. SSL 证书:决定通道是否加密可信
  3. HTTPS 配置:决定网站是否启用加密访问

又拍云申请图床域名的自动续期SSL证书

以下操作均在又拍云上

  • 又拍云开通云存储功能
  • 设置域名
  • 申请图床域名的SSL证书,开启https配置,支持自动续期:
    • 一键申请 Let’s Encrypt 证书
    • 无需本地 1Panel、无需处理 DNS 验证、自动续期、不存在 CNAME 验证报错
  • 开启白名单防盗刷

git自动部署流程

  • onepanel配置网站,创建独立的ftp账号密码,强制开启https
  • github项目自动部署流程配置ftp上传参数,自动传到腾讯云指定目录
  • typora写博客,上传到github
上次编辑于: