个人博客,记录技术、生活和想法。
GMS Mac 版启动闪退排坑指南
冒险岛国际服 (Global MapleStory, 简称 GMS) 在 macOS 上推出了官方支持,这对于很多 Mac 玩家来说是个巨大的好消息。然而,官方 Mac 版客户端本质上是一个高度定制的 Wine 容器,加上其极度敏感的安全组件(NGS / BlackCipher),导致在非北美地区(尤其是亚洲)游玩的玩家遇到了大量的“水土不服”。 最典型的症状就是:点击 Nexon Launcher 的 Play 按钮后,游戏图标在 Dock 栏出现几秒钟,然后瞬间闪退消失,毫无报错。 经过底层日志分析、网络抓包和反复测试,我总结了这套“本地伪装 + 代理防坑”的排查与修复方案。 ...
用 Hugo 和 Caddy 部署一个静态博客
这篇文章记录一种简单、可维护的静态博客部署方式:用 Hugo 生成静态页面,用 Caddy 对外提供访问和自动 HTTPS。 示例中统一使用 blog.example.com 作为占位域名。实际部署时,把它替换成自己的域名即可。 架构思路 Hugo 和 Caddy 各自负责一件事: Hugo:把 Markdown、主题和配置生成成静态 HTML/CSS/JS。 Caddy:监听 80/443,对外提供静态文件服务,并自动申请和续签 HTTPS 证书。 推荐目录结构: /opt/blog # Hugo 源码目录:配置、文章、主题 /var/www/blog # Hugo 生成后的静态文件目录,Caddy 对外读取这里 /etc/caddy # Caddy 配置目录 日常只编辑 /opt/blog。/var/www/blog 是构建产物,不手动修改。 权限模型 一个容易踩坑的点是 /var/www/blog 的权限。 Caddy 只是读取静态文件,不需要拥有发布目录。因此推荐: /opt/blog 归日常登录用户所有。 /var/www/blog 也归日常登录用户所有。 Caddy 只需要通过普通文件权限读取 /var/www/blog。 这样每次发布时,Hugo 可以直接写入 /var/www/blog,不需要反复 chown。 假设日常登录用户是 deploy,可以这样设置: sudo mkdir -p /opt/blog /var/www/blog sudo chown -R deploy:deploy /opt/blog /var/www/blog find /var/www/blog -type d -exec chmod 755 {} \; find /var/www/blog -type f -exec chmod 644 {} \; 如果是个人服务器,也可以直接把 deploy 替换成自己的用户名。 ...
Hello Hugo
第一篇文章。这个博客由 Hugo 生成,并由 Caddy 托管。