Django+uWSGI 重启 502:双 master 与取 PID 失灵排障 SOP
给生产 Django+uWSGI 站点打补丁后重启,站点直接返回 502?根因常是双 master 并存(uwsgi reload 只重载 pidfile 记录的老实例,真正在服务的旧 master 没被 reload)+ 本机 pgrep/ps -C 取 PID 失灵。附一条踩坑换来的干净重启 SOP。
阅读全文 →记录 Web 工程实践:架构、性能、部署与踩过的坑。
给生产 Django+uWSGI 站点打补丁后重启,站点直接返回 502?根因常是双 master 并存(uwsgi reload 只重载 pidfile 记录的老实例,真正在服务的旧 master 没被 reload)+ 本机 pgrep/ps -C 取 PID 失灵。附一条踩坑换来的干净重启 SOP。
阅读全文 →个人技术站用纯服务端渲染 Markdown,常踩两个隐性坑:文章标题与正文 # 标题叠加出"双 H1"伤害 SEO;代码块在白天模式黑底浅字看不清。本文用自写的 Markdown Treeprocessor 扩展做标题降级(且不误伤代码块),并给出 Tailwind Typography 的代码块样式修复。
阅读全文 →在 WSL2 里起一个长期运行的开发服务,nohup 会死、setsid 也会死,连 systemd 服务不 enable 照样被停。本文记录三次真实失败、journal 里的关键证据,以及最终可用的完整配置,附带"当场 curl 200 是假信号"等四个反直觉的坑。
阅读全文 →小程序有用户上传图片就必须接内容安全审核。很多人以为要买第三方服务,其实微信官方 imgSecCheck 免费,20 万次/天足够中小规模用。本文给出完整可运行代码(含 access_token 缓存、图片压缩、multipart 上传),并重点讲一个容易被忽略的设计:审核服务不可用时,绝不能默认放行。
阅读全文 →写 Django 接口返回 JSON,看似三种写法就完事,实际每个都有坑:中文被转成 \uXXXX、返回列表报 safe 错误、datetime 不可序列化、浏览器访问 DRF 接口返回的是 HTML。本文给出三种写法的适用场景、四个坑的报错原文与解法,以及一条 curl 验证命令。
阅读全文 →个人技术站用 Django REST Framework 写了博客管理 API,让 AI agent / 外部系统通过标准 HTTP 接口增删改查文章。本文讲接口设计、Token 鉴权、关键字段约定,以及与服务器端直发的安全边界取舍。
阅读全文 →个人技术站接入百度统计看似只需贴一行 script,实则踩了 uWSGI 多实例、CSP、Referrer-Policy、验证方法论等多个坑。本文完整复盘并提炼可复用的方法论。
阅读全文 →从配置管理、页面缓存到 slug 幂等,记录用 Django 4.2 搭建个人技术站时沉淀的工程经验。
阅读全文 →Django 4.0 起已内置 Redis 缓存后端,不必再装 django-redis。本文给出生产/本地两套配置、为什么缓存要单独用一个 DB 号、发布后页面不更新的根治办法,以及缓存不该被当成持久存储的判断依据(附 redis-cli 验证命令)。
阅读全文 →