为什么自己搭博客
之前用过几个博客平台,但总觉得不够自由。自己搭建可以完全控制每个细节——从排版到 URL 结构,从加载速度到暗色模式。而且搭建过程本身就是一次很好的学习。
技术选型
对比了几个主流方案:
| 方案 | 优点 | 缺点 |
|---|---|---|
| WordPress | 生态丰富 | 太重,需要数据库 |
| Hexo | 成熟稳定 | Node 版本要求旧 |
| Hugo | 构建极快 | 模板语法学习曲线陡 |
| Astro | 现代、灵活、默认零 JS | 相对较新 |
最终选了 Astro。理由很简单:默认输出纯静态 HTML,没有多余的 JavaScript,页面加载极快。
搭建步骤
创建项目
npm create astro@latest my-blog -- --template blog
定制样式
去掉了默认模板的大部分样式,重新设计了一套基于中文排版习惯的 CSS。核心原则:
- 字体使用系统原生中文字体栈
- 正文 17px,行高 1.85,适合长时间阅读
- 最大内容宽度 680px,留白充足
- 色彩低调,不使用高饱和度的颜色
配置 Nginx
server {
listen 443 ssl http2;
server_name lianyeking.top www.lianyeking.top;
root /var/www/my-blog;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
申请 SSL 证书
用 acme.sh 配合 DNS 验证,从 Let’s Encrypt 申请了免费的 SSL 证书。整个过程出乎意料地顺利——不过阿里云的透明代理拦截了 HTTP 验证,换成 DNS 验证后就解决了。
心得体会
搭建过程遇到不少坑,但解决每一个问题的过程都很有收获。写博客不仅是记录,也是对自己知识体系的梳理。
后续还想做:
- 添加搜索功能
- 优化 RSS 输出
- 照片集页面