Home About Projects Blog Graph Resume Contact 中文
Back to list
2026年10月4日 1,012 words 3 min read

从一台 3M 带宽的服务器开始:这个博客是怎么搭起来的

记录买服务器、装 1Panel、选 Astro 主题的完整过程,以及为什么「先想清楚带宽」比「先把配置堆高」更重要。

#建站#Astro#运维#学习记录

搞一个自己的博客,想法其实很早就有了。真正动手是这两天——从买一台服务器开始。

为什么要自建而不是用现成平台

写笔记的地方其实不缺:语雀、CSDN、掘金都能用。但那些地方的共同问题是,内容不在自己手里。排版被平台决定,导出格式各家不一样,哪天平台改版或者关了,几年写的东西就得重新收拾一遍。

自建博客的核心价值不是”更好看”,是内容和数据完全归自己:Markdown 存在本地,随时能迁移,静态文件塞进任何一台机器都能跑。代价是要自己管服务器。对一个想练手的人来说,这个代价反而算是收益。

选服务器:带宽才是真正的瓶颈

买的是腾讯云的轻量应用服务器,4 核 4G,带宽 3M。

这里有个我踩过的认知坑:选配置的时候容易盯着 CPU 和内存看,觉得 4 核 4G 挺宽裕。但对一个静态博客来说,CPU 和内存几乎永远是过剩的——一台 1 核 1G 的机器足够跑几万个静态页面的访问。真正卡脖子的是带宽。

3M 带宽换算一下大约是 375 KB/s。这个数字意味着:

  • 一张没压缩的 5MB 头像,用户要等 13 秒才加载出来
  • 一篇文章如果带三四张大图,首屏基本就废了

所以在这个带宽下,图片体积优化、gzip/brotli 压缩、CDN、长缓存这些手段的优先级,远远高于”要不要加内存”。这个判断直接影响了我后面所有的技术选择。

1Panel:先跳过 Docker

服务器上装的是 1Panel v2。安装过程本身没什么可说的,但有个坑值得记一下:

面板必须用公网 IP 访问。 我一开始用网卡上显示的内网地址(10.0.0.13)去开面板,怎么都连不上,卡了一阵才反应过来——面板监听的是公网入口,网卡上那个是内网 IP。这种问题不难,但不知道的话会白耗时间。

安装时按建议跳过了 Docker。原因是这台机器只有一个静态站点要跑,Docker 带来的隔离和便利在这里用不上,反而多占内存和磁盘。工具要匹配需求,不是越多越好——这是 4G 内存机器上很实际的一条。

还有一点:轻量应用服务器的放行端口在**「防火墙」**页,不是 CVM 那种「安全组」页。两个产品的页面位置不一样,找的时候容易懵。

选 Astro + Atlas 主题

框架选的是 Astro。理由很直接:Astro 默认输出静态 HTML,默认不往页面里塞 JavaScript,这正好对上了前面说的带宽约束。同样的内容,Astro 出来的页面比 SPA 方案小一个数量级。

主题用的是 Atlas,黑色系,自带博客、项目、简历、知识图谱这些页面。它有个挺特别的设计——页面内容用模块拼装,在 src/config/site.ts 里配置每个页面挂哪些模块,不用改组件代码就能调整结构。对不熟前端的人来说,改配置比改组件安全得多。

接下来要做的事

站点还没真正上线,后面还有几件明确的事:

  1. 压缩图片——public/ 里现在有 5MB 级别的图,在这个带宽下必须先处理掉
  2. 决定动态功能的取舍——访客计数和 Steam 状态需要服务端,静态模式下用不了,得想清楚是要还是不要
  3. 补 SEO 基础件——robots.txt、sitemap.xml、RSS,这些是博客的”标配”
  4. 配置 HTTPS 并部署

这篇就当是起点。后面每解决一个问题,我都会单独记一篇——踩过的坑写下来,下次才不用再踩一遍。这大概也是我开这个博客最直接的理由。