在托管平台上放了几年页面,一直相安无事,直到某天想改一段 404 文案,发现要先本地构建、再推仓库、再等流水线——我只想改一句话。那一刻决定:把据点搬回自己的服务器。
从裸机到能访问
机器是一台 2 核 4G 的云主机,系统 CentOS Stream 9。第一步永远是三件套:装 nginx、开机自启、确认监听 80 端口。云平台的安全组要单独放行,这是新手最容易卡住的地方——服务器内 curl 通了,外网打不开,八成是它。
HTTPS 没那么神秘
证书用 Let's Encrypt,certbot 的 webroot 模式配好后一行命令签发:
certbot certonly --webroot -w /var/www/certbot \
-d woshale.com -d www.woshale.com
真正省心的是后面:certbot-renew.timer 每天自动检查两次,剩余有效期不足 30 天才真的续期,续完由部署钩子重载 nginx。配完这一套之后,"证书"这个概念就从脑子里消失了。
把 301 交给规范域名
www 子域全部 301 到裸域,HTTP 全部 301 到 HTTPS,唯一放行 HTTP 的路径是 /.well-known/acme-challenge/——续期还要用。规则只有三条,但每一条都有明确的理由。
自托管的本质不是省钱,是把"能不能改、什么时候改、改成什么样"这三个问题的答案拿回自己手里。
上线之后
备案信息挂进页脚,公安联网备案提交审核,然后开始写第一行真正的内容。这台小机器此后做的每一件事——统计、博客、证书续期——都会出现在首页的控制台上。它不是 done,它是 running。