<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://hrgrace.top/</id>
  <title type="text">Hrgrace</title>
  <subtitle type="text">记录生产与生活</subtitle>
  <updated>2026-10-28T00:00:00.000Z</updated>
  <author><name>Hrgrace</name></author>
  <link rel="alternate" href="https://hrgrace.top/"/>
  <link rel="self" href="https://hrgrace.top/atom.xml"/>
  <generator uri="https://github.com/CuteLeaf/Firefly">Firefly v6.16.8</generator>
    <entry>
      <id>https://hrgrace.top/posts/hello-hrgrace/</id>
      <title type="text">开张：为什么又搭了一个博客</title>
      <published>2026-10-28T00:00:00.000Z</published>
      <updated>2026-10-28T00:00:00.000Z</updated>
      <author><name>Hrgrace</name></author>
      <link rel="alternate" href="https://hrgrace.top/posts/hello-hrgrace/"/>
      <summary type="text">折腾过不少平台，最后还是回到自己的域名和一台小服务器上。说说这一回的想法。</summary>
      <content type="html"><![CDATA[<p>写博客这件事，我大概来回折腾过三四次。每一次都从”这次一定坚持”开始，然后停在第三篇。</p>
<p>这次不太一样的地方在于，我不打算把它做成一个纯粹的输出渠道，而是当作自己的一块地：
<strong>公开的部分用来记录，私有的部分用来干活。</strong></p>
<section><h2>为什么要自建<a href="#为什么要自建"><span>#</span></a></h2><p>用现成的平台写东西，省事，但总有些别扭：</p><ul>
<li>内容不在自己手里，平台一调整你就得迁</li>
<li>想加一点自己的小功能，就被框架限制住了</li>
<li>域名和样式都不由自己说了算</li>
</ul><p>自建的代价是要自己维护一台服务器。考虑到手头本来就有一台常年吃灰的小机器，
这个代价其实可以接受。</p></section>
<section><h2>打算写什么<a href="#打算写什么"><span>#</span></a></h2><p>大致分两类：</p><ol>
<li><strong>生产</strong> —— 工作和技术上的东西。踩过的坑、读过的源码、做过的小工具。</li>
<li><strong>生活</strong> —— 读的书、走过的路、偶尔冒出来的想法。</li>
</ol><p>写得会比较随意，不追求成体系。能把当时想清楚的事记下来，就算达到目的了。</p></section>
<section><h2>站点是怎么搭的<a href="#站点是怎么搭的"><span>#</span></a></h2><p>整站用 <a href="https://astro.build" target="_blank">Astro</a> 生成纯静态页面，原因是服务器带宽只有 2 Mbps，
动态渲染那套在这里不划算。文章用 Markdown 写，改完提交就能发布。</p><p>具体的技术细节，我另开一篇展开。</p></section>]]></content>
    </entry>
    <entry>
      <id>https://hrgrace.top/posts/small-server-notes/</id>
      <title type="text">2 核 2G 的小机器能跑多少东西</title>
      <published>2026-10-27T00:00:00.000Z</published>
      <updated>2026-10-27T00:00:00.000Z</updated>
      <author><name>Hrgrace</name></author>
      <link rel="alternate" href="https://hrgrace.top/posts/small-server-notes/"/>
      <summary type="text">带宽只有 2 Mbps 的入门级云主机，也足够撑起一个博客加一套私有工具。记录一下我的取舍。</summary>
      <content type="html"><![CDATA[<p>手头这台云主机是标准的入门配置：<strong>2 核 CPU、2 GB 内存、40 GB 系统盘、2 Mbps 带宽</strong>。
按现在的标准不算宽裕，但用来跑一个个人站点绰绰有余——前提是选对东西。</p>
<section><h2>先认清瓶颈在哪<a href="#先认清瓶颈在哪"><span>#</span></a></h2><p>很多人拿到小机器第一反应是”内存不够”，其实在我这个场景里，<strong>真正的瓶颈是带宽</strong>。</p><p>2 Mbps 换算下来每秒只有 256 KB 左右。这意味着：</p><ul>
<li>一张未经压缩的手机照片（3 MB）需要大约 12 秒才能传完</li>
<li>如果一篇文章里有 5 张这样的图，页面的总传输时间会超过一分钟</li>
</ul><p>结论很直接：<strong>公开内容必须尽量小，而且要能被缓存住。</strong></p></section>
<section><h2>三条原则<a href="#三条原则"><span>#</span></a></h2><section><h3>1. 公开内容静态化<a href="#1-公开内容静态化"><span>#</span></a></h3><p>博客用静态生成器输出纯 HTML，服务器只负责把文件发出去。
没有数据库查询、没有模板渲染，CPU 基本闲着，也就不存在”被刷爆”的问题。</p><p>静态站还有一个额外好处：它的攻击面几乎为零。没有登录、没有表单、没有运行时，
能出问题的地方比动态站少一个数量级。</p></section><section><h3>2. 图片压缩并交给 CDN<a href="#2-图片压缩并交给-cdn"><span>#</span></a></h3><p>图片是带宽杀手。做法是：</p><ul>
<li>统一转成 WebP，长边限制在 1600px 以内</li>
<li>上传到对象存储，由 CDN 分发，源站完全不参与图片传输</li>
<li>HTML 里引用 CDN 地址</li>
</ul><p>这样 2 Mbps 的出口只需要承担最轻的那部分流量。</p></section><section><h3>3. 私有功能放后面，且必须加认证<a href="#3-私有功能放后面且必须加认证"><span>#</span></a></h3><p>私有工作台和公开博客在流量特征上完全不同：前者只有我一个人用，并发可以忽略不计。</p><p>所以私有部分可以放心用稍微重一点的东西，但认证一定要做在<strong>最外层</strong>——
在反向代理这一层统一拦截，而不是指望每个应用自己把门看好。
后面新增工具时，也不用再逐个改造。</p></section></section>
<section><h2>内存怎么分配<a href="#内存怎么分配"><span>#</span></a></h2><p>2 GB 内存要精打细算。我的预算大致是这样：</p>

<table><thead><tr><th>用途</th><th>预估占用</th></tr></thead><tbody><tr><td>系统 + 容器运行时</td><td>250 MB</td></tr><tr><td>反向代理</td><td>60 MB</td></tr><tr><td>统一认证</td><td>150 MB</td></tr><tr><td>门户与工具</td><td>300 MB</td></tr><tr><td>数据服务</td><td>60 MB</td></tr><tr><td><strong>留白</strong></td><td>约 1 GB</td></tr></tbody></table><p>关键是那条”留白”。小机器上最忌讳把内存吃干净，一旦某个进程内存涨上去，
触发 OOM 被杀是小事，连累整机就麻烦了。</p><p>再有就是<strong>一定要配 swap</strong>，哪怕只有 2 GB。它不解决性能问题，
但能在内存瞬时冲高时保住系统不崩。</p></section>
<section><h2>小结<a href="#小结"><span>#</span></a></h2><p>小机器的核心思路就一句：<strong>把重的东西挪走，把能静态的静态化，把必须动态的关进认证后面。</strong></p><p>配置不高不代表做不成事，只是每一份资源都要想清楚花在哪里。</p></section>]]></content>
    </entry>
    <entry>
      <id>https://hrgrace.top/posts/october-little-things/</id>
      <title type="text">十月的几件小事</title>
      <published>2026-10-24T00:00:00.000Z</published>
      <updated>2026-10-24T00:00:00.000Z</updated>
      <author><name>Hrgrace</name></author>
      <link rel="alternate" href="https://hrgrace.top/posts/october-little-things/"/>
      <summary type="text">换了一条通勤路线、读完两本书、开始记流水账。一些零碎但值得留下的记录。</summary>
      <content type="html"><![CDATA[<p>这个月过得不算轰烈，但回头看还是攒下了一些东西。记性越来越不可靠，还是写下来比较安心。</p>
<section><h2>换了一条路<a href="#换了一条路"><span>#</span></a></h2><p>原本的通勤路线要换乘两次，早高峰挤到怀疑人生。月初试了另一条：多走十分钟，
但只换乘一次，而且有一段沿河的步行。</p><p>十分钟换一个不被人挤的早上，我觉得很值。</p><p>顺带发现河边有一排银杏，这个月刚黄。天气好的时候会停下来站一会儿。</p></section>
<section><h2>读完了两本书<a href="#读完了两本书"><span>#</span></a></h2><p><strong>《置身事内》</strong> —— 讲地方政府在经济里的角色。之前一直觉得财政、土地这些东西离自己很远，
读完才发现很多现象都能对上号。作者的表述很克制，没有把结论喂给你，这点很喜欢。</p><p><strong>《克拉拉与太阳》</strong> —— 石黑一雄。读的时候一直有种钝钝的难受感，
看完好几天没缓过来。克拉拉那种”尽力去理解人类却始终差一点”的视角，
比任何直白的悲伤都更让人不舒服。</p></section>
<section><h2>开始记流水账<a href="#开始记流水账"><span>#</span></a></h2><p>这个月开始用记账工具记录日常开销。不是为了省钱，主要是想搞清楚
<strong>钱到底花到哪儿去了</strong>。</p><p>记了三周，最大的发现是：零散的小额支出加起来比想象中多得多。
一杯咖啡、一次外卖、一个临时起意的快递，单笔都不心疼，加起来一个月够买台新键盘。</p><p>年末想试着做一份完整的花销复盘，到时候如果整理得像样，就发到这里来。</p></section>
<section><h2>一件没做成的事<a href="#一件没做成的事"><span>#</span></a></h2><p>本来计划每周跑三次，实际只做到了一次。</p><p>不打算给自己找理由，下个月继续。</p></section>]]></content>
    </entry>
</feed>
