<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Nginx - 标签 - huxiang.bond</title><link>https://huxiang.bond/tags/nginx/</link><description>Nginx - 标签 - huxiang.bond</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>admin@huxiang.bond (huxiang)</managingEditor><webMaster>admin@huxiang.bond (huxiang)</webMaster><copyright>huxiang.bond</copyright><lastBuildDate>Fri, 30 Oct 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://huxiang.bond/tags/nginx/" rel="self" type="application/rss+xml"/><item><title>用 Hugo + LoveIt 搭一个初音未来主题博客：从建站到自动发布</title><link>https://huxiang.bond/posts/hugo-loveit-miku-blog/</link><pubDate>Fri, 30 Oct 2026 10:00:00 +0800</pubDate><author>admin@huxiang.bond (huxiang)</author><guid>https://huxiang.bond/posts/hugo-loveit-miku-blog/</guid><description><![CDATA[<div class="featured-image">
                <img src="/welcome/card_pink.jpg" referrerpolicy="no-referrer">
            </div><p>这个博客从零到上线，大概花了一个周末。中间踩的坑不算多，但每一个都值得记下来——毕竟下次重装服务器的时候，我大概率会忘记。</p>
<p>这篇文章把整套流程完整写一遍：选型、建站、主题配置、首页定制、站内搜索、Nginx + HTTPS，最后一键发布。如果你也想搞一个自己的小站，可以照着抄。</p>
<h2 id="一为什么自建">一、为什么自建</h2>
<p>用现成平台写博客当然更省事，但我想要的是：</p>
<ul>
<li><strong>完全可控</strong>：样式、域名、数据都在自己手里，不用担心平台改规则或者加广告</li>
<li><strong>足够快</strong>：纯静态页面，Nginx 直接吐文件，没有数据库和后端</li>
<li><strong>足够便宜</strong>：一台最低配 VPS 就够，流量也很省</li>
<li><strong>可以折腾</strong>：对我来说，&ldquo;搭博客&quot;本身就是乐趣的一部分</li>
</ul>
<p>所以技术选型很自然：<strong>Hugo 生成静态站 + Nginx 托管 + Let&rsquo;s Encrypt 免费证书</strong>。</p>
<h2 id="二选-hugo-和-loveit">二、选 Hugo 和 LoveIt</h2>
<p>Hugo 的优势是快。这个站现在只有几十个页面，构建时间 0.3 秒左右；就算以后写到几百篇，也还是秒级。</p>
<p>主题选了 <a href="https://github.com/dillonzq/LoveIt" target="_blank" rel="noopener noreffer ">LoveIt</a>，理由很直白：</p>
<ul>
<li>中文文档完善，配置项都有中英注释</li>
<li>自带深色模式、目录、代码复制、分享、评论等常用功能</li>
<li>默认样式干净，适合长时间阅读</li>
<li>支持本地化资源，不强制走 CDN</li>
</ul>
<p>安装（需要 Hugo extended 版本，主题用到了 SCSS）：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 以 Ubuntu 为例，装官方 deb 包最省事</span>
</span></span><span class="line"><span class="cl">wget https://github.com/gohugoio/hugo/releases/download/v0.165.0/hugo_extended_0.165.0_linux-amd64.deb
</span></span><span class="line"><span class="cl">sudo dpkg -i hugo_extended_0.165.0_linux-amd64.deb
</span></span><span class="line"><span class="cl">hugo version</span></span></code></pre></div></div>
<p>建站和装主题：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hugo new site huxiang-blog
</span></span><span class="line"><span class="cl"><span class="nb">cd</span> huxiang-blog
</span></span><span class="line"><span class="cl">git init
</span></span><span class="line"><span class="cl">git clone https://github.com/dillonzq/LoveIt themes/LoveIt</span></span></code></pre></div></div>
<h2 id="三配置里最容易出错的几个点">三、配置里最容易出错的几个点</h2>
<p><code>hugo.toml</code> 里我改了不少，挑几个关键的：</p>
<h3 id="1-baseurl-一定要带结尾斜杠">1. baseURL 一定要带结尾斜杠</h3>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-toml">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="nx">baseURL</span> <span class="p">=</span> <span class="s2">&#34;https://huxiang.bond/&#34;</span></span></span></code></pre></div></div>
<p>少一个 <code>/</code>，站内很多绝对路径就会拼错，表现为 CSS 加载不出来或者图片 404。</p>
<h3 id="2-中文站要开-cjk">2. 中文站要开 CJK</h3>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-toml">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="nx">defaultContentLanguage</span> <span class="p">=</span> <span class="s2">&#34;zh-cn&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">languageCode</span> <span class="p">=</span> <span class="s2">&#34;zh-CN&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">hasCJKLanguage</span> <span class="p">=</span> <span class="kc">true</span></span></span></code></pre></div></div>
<p><code>hasCJKLanguage</code> 影响摘要的字数统计，不开的话中文文章的 <code>.Summary</code> 会短得离谱。</p>
<h3 id="3-关掉-cdn全部本地化">3. 关掉 CDN，全部本地化</h3>
<p>LoveIt 默认会从 jsDelivr 拉字体图标、搜索库这些资源。国内访问不稳定，所以：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-toml">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">params</span><span class="p">.</span><span class="nx">cdn</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="nx">data</span> <span class="p">=</span> <span class="s2">&#34;&#34;</span></span></span></code></pre></div></div>
<p>这样所有依赖都从主题自带的 <code>assets/lib/</code> 打包进 <code>public/</code>，首屏不再等外网。</p>
<h3 id="4-菜单和输出格式">4. 菜单和输出格式</h3>
<p>站内搜索需要首页额外输出 JSON：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-toml">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">outputs</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="nx">home</span> <span class="p">=</span> <span class="p">[</span><span class="s2">&#34;HTML&#34;</span><span class="p">,</span> <span class="s2">&#34;RSS&#34;</span><span class="p">,</span> <span class="s2">&#34;JSON&#34;</span><span class="p">]</span></span></span></code></pre></div></div>
<p>搜索配置：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-toml">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">params</span><span class="p">.</span><span class="nx">search</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="nx">enable</span> <span class="p">=</span> <span class="kc">true</span>
</span></span><span class="line"><span class="cl">  <span class="nx">type</span> <span class="p">=</span> <span class="s2">&#34;lunr&#34;</span>
</span></span><span class="line"><span class="cl">  <span class="nx">contentLength</span> <span class="p">=</span> <span class="mi">6000</span>
</span></span><span class="line"><span class="cl">  <span class="nx">placeholder</span> <span class="p">=</span> <span class="s2">&#34;搜索文章标题或内容...&#34;</span></span></span></code></pre></div></div>
<p>中文搜索用 <code>lunr</code> 类型，主题会自动加载 <code>lunr.zh.js</code> 和 <code>segmentit</code> 分词库，比 Fuse.js 的字符匹配靠谱。</p>
<h2 id="四自定义首页">四、自定义首页</h2>
<p>LoveIt 默认首页是&quot;头像 + 文章列表&rdquo;，很规整，但不够二次元。所以我用 <code>layouts/index.html</code> 整个覆盖了首页：</p>
<ul>
<li>全屏星空 Hero，漂浮音符动画</li>
<li>一句话签名、随机文章按钮、音乐胶囊（点击播放千本桜）</li>
<li>最新文章卡片：标题、摘要、日期、阅读时长、分类全部从文章 front matter 读取</li>
<li>文章数 / 分类数 / 标签数 / 开站天数统计</li>
<li>分类 chips、标签云、最近动态时间线</li>
</ul>
<p>关键点是<strong>不要手写卡片</strong>。我第一版是静态 HTML 写死两篇文章，结果新文章发出来首页根本不更新，非常尴尬。正确做法是遍历 <code>site.RegularPages</code>：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-go-html-template">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go-html-template" data-lang="go-html-template"><span class="line"><span class="cl"><span class="cp">{{-</span><span class="w"> </span><span class="nx">$posts</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">where</span><span class="w"> </span><span class="nx">site</span><span class="na">.RegularPages</span><span class="w"> </span><span class="s">&#34;Section&#34;</span><span class="w"> </span><span class="s">&#34;posts&#34;</span><span class="w"> </span><span class="cp">-}}</span>
</span></span><span class="line"><span class="cl"><span class="cp">{{-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="nx">first</span><span class="w"> </span><span class="nx">6</span><span class="w"> </span><span class="nx">$posts</span><span class="na">.ByDate.Reverse</span><span class="w"> </span><span class="cp">}}</span>
</span></span><span class="line"><span class="cl">  <span class="p">&lt;</span><span class="nt">a</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;card&#34;</span> <span class="na">href</span><span class="o">=</span><span class="s">&#34;</span><span class="cp">{{</span><span class="w"> </span><span class="na">.RelPermalink</span><span class="w"> </span><span class="cp">}}</span><span class="s">&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nt">h3</span><span class="p">&gt;</span><span class="cp">{{</span><span class="w"> </span><span class="na">.Title</span><span class="w"> </span><span class="cp">}}</span><span class="p">&lt;/</span><span class="nt">h3</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span><span class="cp">{{</span><span class="w"> </span><span class="na">.Summary</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="nx">plainify</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="nx">truncate</span><span class="w"> </span><span class="nx">78</span><span class="w"> </span><span class="cp">}}</span><span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nt">span</span><span class="p">&gt;</span><span class="cp">{{</span><span class="w"> </span><span class="na">.Date.Format</span><span class="w"> </span><span class="s">&#34;2006-01-02&#34;</span><span class="w"> </span><span class="cp">}}</span> · <span class="cp">{{</span><span class="w"> </span><span class="na">.ReadingTime</span><span class="w"> </span><span class="cp">}}</span> 分钟<span class="p">&lt;/</span><span class="nt">span</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="cp">{{-</span><span class="w"> </span><span class="k">end</span><span class="w"> </span><span class="cp">}}</span></span></span></code></pre></div></div>
<p>封面图也做了回退：优先用文章 front matter 里的 <code>featuredImage</code>，没有就按顺序循环用几张预设图。</p>
<h2 id="五nginx--https">五、Nginx + HTTPS</h2>
<p>站点构建出来就是一堆静态文件，Nginx 配置很薄：</p>
<div class="code-block code-line-numbers" style="counter-reset: code-block 0">
    <div class="code-header language-nginx">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nginx" data-lang="nginx"><span class="line"><span class="cl"><span class="k">server</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="kn">server_name</span> <span class="s">huxiang.bond</span> <span class="s">www.huxiang.bond</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kn">root</span> <span class="s">/var/www/huxiang</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kn">index</span> <span class="s">index.html</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="kn">location</span> <span class="p">~</span><span class="sr">*</span> <span class="s">\.(jpg|jpeg|png|gif|webp|svg|css|js|ico)</span>$ <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="kn">expires</span> <span class="s">30d</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">        <span class="kn">add_header</span> <span class="s">Cache-Control</span> <span class="s">&#34;public,</span> <span class="s">immutable&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">        <span class="kn">access_log</span> <span class="no">off</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="kn">location</span> <span class="s">/</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="kn">try_files</span> <span class="nv">$uri</span> <span class="nv">$uri/</span> <span class="p">=</span><span class="mi">404</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="kn">listen</span> <span class="mi">443</span> <span class="s">ssl</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kn">ssl_certificate</span> <span class="s">/etc/letsencrypt/live/huxiang.bond/fullchain.pem</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kn">ssl_certificate_key</span> <span class="s">/etc/letsencrypt/live/huxiang.bond/privkey.pem</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
<p>证书用 certbot 一条命令搞定：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt install certbot python3-certbot-nginx
</span></span><span class="line"><span class="cl">sudo certbot --nginx -d huxiang.bond -d www.huxiang.bond</span></span></code></pre></div></div>
<p>certbot 会自动加 80 端口的 301 跳转，并注册 <code>certbot.timer</code> 定时续期，不用自己写 cron。验证一下：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">systemctl list-timers <span class="p">|</span> grep certbot
</span></span><span class="line"><span class="cl">curl -I https://huxiang.bond/</span></span></code></pre></div></div>
<h2 id="六一条命令发布">六、一条命令发布</h2>
<p>写文章最怕流程麻烦，所以我把构建和部署包成了一个脚本 <code>deploy.sh</code>：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="cp">#!/usr/bin/env bash
</span></span></span><span class="line"><span class="cl"><span class="nb">set</span> -e
</span></span><span class="line"><span class="cl"><span class="nb">cd</span> <span class="s2">&#34;</span><span class="k">$(</span>dirname <span class="s2">&#34;</span><span class="nv">$0</span><span class="s2">&#34;</span><span class="k">)</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nv">HUGO_ENV</span><span class="o">=</span>production hugo --minify --environment production
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">sudo rsync -a --delete public/ /var/www/huxiang/
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;✅ 已发布: https://huxiang.bond&#34;</span></span></span></code></pre></div></div>
<p>用法就一句：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">./deploy.sh</span></span></code></pre></div></div>
<p><code>rsync --delete</code> 会同步删除线上多余文件，改标题、删文章都不会留下孤儿页面。想先本地预览就加 <code>--preview</code>，脚本会起 <code>hugo server</code> 跑在 1313 端口。</p>
<h2 id="七踩坑清单">七、踩坑清单</h2>
<ol>
<li><strong>首页写死卡片</strong>：新文章不显示。改成 Hugo 模板遍历。</li>
<li><strong><code>content/about/_index.md</code> 用 section 模板</strong>：页面渲染成&quot;所有关于我&quot;的空归档，正文根本不出现。改成 <code>content/about/index.md</code> 这种 leaf bundle，才会走单页模板。</li>
<li><strong>文章日期格式</strong>：<code>date: 2026-10-30</code> 是 UTC 零点，按东八区算会显示成前一天。带时间写 <code>2026-10-30T10:00:00+08:00</code> 最稳。</li>
<li><strong>图片路径</strong>：<code>/images/xxx.jpg</code> 是站根路径，不是相对当前文章。放 <code>static/images/</code> 下最省心。</li>
<li><strong><code>hugo --minify</code> 后中文摘要被截断</strong>：检查 <code>hasCJKLanguage</code>，以及 <code>truncate</code> 是按字符不是按词。</li>
</ol>
<h2 id="八最后">八、最后</h2>
<p>整套东西的成本：一台 2 核 2G 的小 VPS，一个域名，零 CDN 费用。构建耗时 0.3 秒，首页 11KB 的 HTML，该有的功能都有。</p>
<p>如果你也想搭一个，建议先跑通&quot;本地构建 + 预览&quot;，再折腾域名和证书。顺序反了容易在 DNS 和 Nginx 之间来回怀疑人生。</p>
<p>下一篇准备写写这台 VPS 上还跑了些什么，以及怎么用定时任务把备份、日报这些杂事自动化掉。♪</p>
]]></description></item></channel></rss>