博客部署问题调试记录

重装系统电脑没有备份,只能拉取远程代码然后本地运行调试了。 第一个坑:Hugo配置系统变量 拉起代码之后,本地运行命令: hugo server -D 报错: 无法将“hugo”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 原因:没有配置hugo环境 下载Hugo安装包,地址:https://github.com/gohugoio/hugo/releases 我使用extended(扩展版)是因为使用了PaperMod简约主题需要extended版来处理SCSS/SASS样式。 安装zip包解压缩,配置环境变量只想hugo.exe就OK了。 第二个坑:本地访问Page Not Found 运行本地项目后,访问http://localhost:1313/报错:Page Not Found。 原因:项目下themes/PaperMod是个空文件夹,相当于没有主题,也就没有加载出页面内容。 导致问题的原因:themes/PaperMod是通过git submodule的形式嵌套的,它也是一个单独的git仓库(是子项目)。 # 重装之后拉取代码使用的git clone xxxxxx只是拉取了主仓库 # 需要再进入到子项目目录进行拉取 cd themes/PaperMod git pull origin master git submodule各种问题 拉取submodule的时候各种报错: 错误地配置了代理: unable to access ‘https://github.com/qiuxiaolong1/qingkong-blog.git/': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 127.0.0.1:7897 解决方案: # 查看git的代理配置,先删除 # 取消全局代理配置 git config --global --unset http.proxy git config --global --unset https.proxy # (可选) 如果你只想针对当前仓库清理 git config --unset http.proxy git config --unset https.proxy 不稳定网络环境下的负载传输失败: ...

April 30, 2026 · 2 min · 289 words · Qingkong

博客部署简单记录

是不是想问知乎、CSDN、稀土掘金、博客园等等都数不过来的平台,为什么还要费劲巴拉地自己买服务器搭博客, 其实理由很简单:我想要一片属于我自己的“数字领地”,重点是blong to me! 在别人的平台上,你只是租客;但在自己的服务器上,每一行代码、每一篇文字都真正属于你。 这篇文章,就是单纯地简单记录下。 选购:在云端安个家 关于服务器和域名的选择攻略: 服务器:个人博客/小型网站 2核CPU + 4GB内存,大量使用图片可以适当增强带宽能力 域名:.com(全球) > .cn(中国),后缀冷门的便宜,不行就把名字缩写改造成独有的域名 镜像:建议 Ubuntu 22.04 LTS 或者CentOS 9,前者对于新手玩家友好,后者企业用的多。 我之所以选择京东云,是因为它的网络链路对国内用户非常友好,且新用户的入门套餐性价比极高。 刚买的服务器,啥也别干,先安全初始化: https://waytoagi.feishu.cn/wiki/U2v9wBiM5iVlfOkPZW1cPcTMnsd 部署——懒人攻略版 当本地可以跑起来的时候,下一步的部署方案可选择项太多了,这里简单罗列下关键词,可以直接AI搜索。(我比较懒用的是Github Ation +服务器的路数) 方案一:纯静态托管 GitHub Pages:创建 <username>.github.io 仓库,推送代码后自动部署,免费 HTTPS + 支持自定义域名。 Gitee Pages:国内访问更稳定,但免费版功能受限。 对象存储 + CDN:将静态文件上传到阿里云OSS/又拍云,开启静态网站托管,配合CDN加速。 方案二:云服务器自建 手动操作:(国内)Node.js + Nginx + Gitee hooks ,(国外)Github Action; 区别就是受网络环境影响,gitee hooks得自己搭一个服务监听端口跑WebHook触发推送部署 本地写文章 → git push → Gitee Webhook 触发 → 服务器拉取代码 → 构建 → Nginx 部署 Github Action就只用推送代码,然后剩下的都由Github Action这个“机器人”完成。 本地写文章 → git push; GitHub Action 运行deploy.sh; 动态博客系统一键部署: ...

April 24, 2026 · 1 min · 131 words · Qingkong

又拍云图床加速

新手玩家的P3级故障:自己直接上手硬拼了个blog出来,然后发现首页加载巨慢… 遂,寻一法:又拍云CDN图床加速。 小声说一句:又拍云的开发者联盟可以零门槛凭本事兑换CDN加速,每年一次,一次用一年。 规划图床工作流 核心链路:PicList -> 又拍云 -> Hugo 存储端:在又拍云创建一个“服务”(Bucket),获取操作员账号和密码。 上传端:本地安装 PicList(PicGo 的增强版)。 引用端:Markdown 中插入又拍云生成的 CDN 链接。 又拍云后台配置(关键步骤) 为了防止图片被盗刷(流量就是钱),在又拍云后台请务必开启: HTTPS 访问:申请一个免费的 SSL 证书(又拍云后台可以一键申领)。 防盗链配置:在“访问控制”里,将你的博客域名添加到白名单。 图片处理(云端瘦身): 这是又拍云的杀手锏。你可以在后台配置“间隔标志”(如 !webp)。 原图地址:https://cdn.example.com/pic.jpg 瘦身后地址:https://cdn.example.com/pic.jpg!webp 这会自动将图片转为 WebP 格式并压缩,极大地节省你的 CDN 流量。 本地 PicList 配置清单 在 PicList 中添加又拍云图床,填写以下信息: 服务名称:你创建的 Bucket 名。 操作员 ID / 密码:在又拍云后台“服务管理”->“操作员”中添加。 加速域名:又拍云提供的测试域名或你绑定的自定义域名。 存储路径:建议设为 /blog/{year}/{month}/,方便以后维护。 关于备份的深度叮嘱 必看:图床虽好,但不要“孤注一掷”。 本地备份:PicList 有个功能叫“上传同时保存到本地”,请务必开启。 路径一致性:如果有一天数据丢失了(虽然概率很低),只要你本地有备份,通过全局替换 Markdown 里的域名,几秒钟就能迁移到腾讯云或阿里云。 技术方案设计 关于又拍云(Upyun)图床子域名的 Nginx 配置,这里有一个认知误区需要先澄清:由于使用的是又拍云的 CDN 服务,图片实际上是存在又拍云的服务器上,不需要在个人服务器上配置Nginx。 敲黑板:又拍云的云存储是存储和加速一体的,不要再单独去CDN下配置域名加速。 方案选择:直接回源又拍云(最简单,推荐) 操作流程: 又拍云后台:在“域名管理”里添加你的子域名(如 img.yourdomain.com)。 域名 DNS 解析:去你的域名服务商(如腾讯云/阿里云),给 img 子域名添加一条 CNAME 记录,指向又拍云提供的那个 .upyun.com 的地址。 SSL 证书:在又拍云后台直接申请并开启 HTTPS。 搞定:你的京东云服务器带宽完全被释放,图片流量一分钱都不占你的服务器。 详细操作步骤 云存储服务创建 图床的基础是存储空间(Bucket)。 ...

April 24, 2026 · 2 min · 253 words · Qingkong

Hugo + PaperMod 极简博客通关指南

之前搭过一个博客,想着做一个有登录有后台,前端页面看到啥酷炫的效果都想克隆一份,至于结果如何:只能说如何一个惨字了得(又卡又慢,优化不完)…… 本着内容至上的初心(说白了还是懒),决定直接使用Hugo+PaperMod搭建一个极简风格的个人博客。(新手村背包Get) 为什么是 Hugo?因为快,且纯粹 很多新手玩家在起步时会纠结选择 WordPress 还是 Hugo。我的建议是:如果你想专注写作,且希望网站“秒开”,选 Hugo。 Hugo 是一个静态网站生成器。简单来说,它不像传统网站那样在你访问时才去查询数据库,而是提前把你写的 Markdown 文章“翻译”成 HTML 网页。这意味着你的网站没有后端漏洞,不需要维护数据库,而且速度快得惊人。 安装Hugo(快速方案不生效可以查看下文常规方案) Windows系统: choco install hugo -y (需要先安装Chocolatey) macOS系统: brew install hugo (需要先安装Homebrew) Linux系统:根据发行版使用相应的包管理器安装 快速入门:第一行命令 在你的电脑上安装好 Hugo 之后(macOS 用 brew install hugo,Windows 直接下载二进制包),打开终端,输入: hugo new site my-blog 这就是一切的开始。你会看到一个名为 my-blog 的文件夹,里面整整齐齐地躺着几个目录。此时它还是个毛坯房,没有灵魂,我们需要给它穿上一件“极简主义”的外套。 Git Submodule:管理主题的“优雅姿势” 这是本文的核心,也是很多新手玩家最容易卡壳的地方。 通常我们要换主题,最粗暴的方法是把主题包下载下来解压到 themes 文件夹。但这样做有个致命缺点:万一原作者更新了主题,修复了 Bug 或增加了新功能,你的本地代码很难同步更新。 Git Submodule(子模块) 就是为了解决这个问题而生的。它就像是在你的博客仓库里开了一扇“传送门”,直接连接到主题作者的远程仓库。 为什么要用它? 保持整洁:你的主仓库只记录一个“引用”,不会把成千上万行主题代码塞进自己的提交记录里。 一键同步:原作者更新了?你只需一条命令,就能把最新的代码“拉”回来,而不会破坏你自己的配置。 操作演示 首先,在你的博客根目录初始化 Git: git init 然后,用 Submodule 的方式引入 PaperMod: git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod 这里的 --depth=1 是个小技巧,它表示只拉取最近的一次提交,不下载冗长的历史记录,速度极快。 ...

April 23, 2026 · 2 min · 229 words · Qingkong