程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
运维 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
mod_php + prefork 容量计算:ServerLimit 默认 256 压着 MaxRequestWorkers,PSS 才是每进程口径
编程
mod_php + prefork 容量计算:ServerLimit 默认 256 压着 MaxRequestWorkers,PSS 才是每进程口径
2026-11-05 00:05:16
mod_php 只能跑 prefork,容量规划要按每进程 PSS 算,opcache 的 mmap 共享段不能乘进程数。附 MaxRequestWorkers 被 ServerLimit 256 压住的报错、MaxConnectionsPerChild 回收取舍,以及 scoreboard 全是 W 时该查什么。
mod_php
Apache
mpm_prefork
性能调优
运维
notify_url 收不到回调:http 0、3xx、403、405、500 逐层定位
编程
notify_url 收不到回调:http 0、3xx、403、405、500 逐层定位
2026-11-05 00:03:39
浏览器能打开 notify_url,不代表支付平台的服务端 POST 能投递成功。按 http 0(DNS/证书/端口/IPv6)、3xx(尾斜杠与强制 HTTPS 重定向)、403/405、500 分层定位,附支付宝与微信地址格式差异表、curl 复现命令与 Nginx 反代配置。
notify_url
支付回调
异步通知
接口对接
运维
Nginx
EL9 不再提供 mod_php:Apache 2.4 + PHP 8.4 迁到 php-fpm 的配置与失效点
编程
EL9 不再提供 mod_php:Apache 2.4 + PHP 8.4 迁到 php-fpm 的配置与失效点
2026-11-05 00:03:27
EL9 官方仓库不再提供 mod_php,EL8 仍提供但要切 prefork。从 mod_php 迁到 php-fpm + mod_proxy_fcgi 的实测配置,以及 php_value 失效、运行用户变更、REDIRECT_ 前缀、opcache 每池独立、502/503 判据这几个坑。
mod_php
Apache
PHP-FPM
运维
mod_proxy_fcgi
systemd 259 之后 journal 默认写 /var/log/journal,networkd 的 iptables NAT 规则不再生成
综合
systemd 259 之后 journal 默认写 /var/log/journal,networkd 的 iptables NAT 规则不再生成
2026-11-04 21:08:48
systemd v259 三处默认行为变更会立刻出问题:journal 存储从 auto 变 persistent(只读根、容器、小磁盘都要看)、networkd 与 nspawn 只走 nftables 导致原 iptables NAT 规则不再生成、cgroup2 带 memory_hugetlb_accounting 后大页计入内存上限。附 OOMKills、run0 --empower 与 v260 移除预警。
systemd
运维
Linux
journald
MySQL 8.0 已经 EOL:先升主库还是先升从库,replica_allow_higher_version_source 决定了答案
综合
MySQL 8.0 已经 EOL:先升主库还是先升从库,replica_allow_higher_version_source 决定了答案
2026-11-04 21:07:45
MySQL 8.0.46 是 8.0 最后一个版本,2026 年 4 月起 EOL。往 8.4 还是 9.7 走、主库从库谁先升,本文按 replica_allow_higher_version_source 给出的可行排法来讨论,并附 cpuset cgroup 感知带来的线程数变化与升级前检查 SQL。
MySQL
运维
升级
复制
version
OpenSSH 10 升级后 authorized_keys 里的 DSA 公钥被静默拒绝,日志还给不出原因
综合
OpenSSH 10 升级后 authorized_keys 里的 DSA 公钥被静默拒绝,日志还给不出原因
2026-11-04 21:04:07
OpenSSH 10.0 把 DSA 从代码里删掉,authorized_keys 里的 ssh-dss 公钥会直接登不上,客户端只有 Permission denied。附升级前的三条巡检命令、ssh-keygen -A 跳过 DSA 的坑、版本号字符串匹配失配,以及 sshd-auth 让日志来源变化导致告警漏采。
OpenSSH
运维
Linux
SSH
ingress-nginx 退役后:Traefik 兼容模式零改动吃下 annotation,Gateway API 还得自己补细节
案例
ingress-nginx 退役后:Traefik 兼容模式零改动吃下 annotation,Gateway API 还得自己补细节
2026-11-04 20:01:28
ingress-nginx 2026 年 3 月停止维护后的两条迁移路径实测:Traefik v3.7.16 的 ingress-nginx 兼容 provider 可零改动吃下 ssl-redirect、proxy-read-timeout、whitelist-source-range 等常见 annotation;改走 Gateway API 则要自己补 308 状态码、IP 白名单(Traefik Middleware)与 entrypoint 超时。附 ingress2gateway v1.2.0 把超时转成 10 倍的实测结果。
Kubernetes
Traefik
GatewayAPI
Ingress
运维
Go 1.27 默认 500 个请求头就回 431:kube-apiserver 大批 group 用户被拒的排查
综合
Go 1.27 默认 500 个请求头就回 431:kube-apiserver 大批 group 用户被拒的排查
2026-11-03 21:01:18
Go 1.27 给 net/http 加了 MaxHeaderValueCount,默认 500 个 header value,超限返回 431。kube-apiserver 上 impersonate 或代理用户 group 超过 500 个就直接被拒,1.35.10 把上限提到 16384。讲清 431 与 413 的区别、头数量怎么数、curl 复现与 Go 侧配置。
Go
运维
Kubernetes
20 个定时任务挂了 12 小时零告警:systemd-run --user 在系统级服务里找不到总线
案例
20 个定时任务挂了 12 小时零告警:systemd-run --user 在系统级服务里找不到总线
2026-11-03 20:02:26
系统级服务里调 systemd-run --user --scope,缺 XDG_RUNTIME_DIR 导致连不上 /run/user/<uid>/bus,20 多个定时任务失败 188 次、看门狗全程无告警。完整排查链、三条探针命令,以及补环境变量、enable-linger、改 --service、改用系统级 service 四种修法的取舍。
systemd
Linux
运维
定时任务
故障排查
RocketMQ 发送全部失败:日志指向 10909,Broker 只监听了 10911
案例
RocketMQ 发送全部失败:日志指向 10909,Broker 只监听了 10911
2026-11-03 20:01:14
灰度上线后 RocketMQ 消息发送成功率掉到 0,Broker 指标全都正常,应用日志报 connect to <ip>:10909 failed。本文从端口特征入手,说清 VIP 通道端口为何是 listenPort-2、vipChannelEnabled 默认为 true 的来源,并对比开放 10909 与客户端关闭 VIP 通道两条修复路径的取舍。
RocketMQ
消息队列
排障
运维
Java
kula 部署笔记:单二进制 Linux 监控,Docker 里必须共享 PID 命名空间
综合
kula 部署笔记:单二进制 Linux 监控,Docker 里必须共享 PID 命名空间
2026-11-02 21:31:59
kula 是单二进制 Linux 监控:每秒读 /proc 与 /sys,写入 1s/1m/5m 三层环形缓冲(默认 250/150/50 MB),面板在 27960。笔记给出安装命令、Docker 里为什么必须 --pid host、Prometheus 端点与 AGPLv3 单机定位的取舍。
Go
监控
Linux
Docker
运维
Podman 6.0 升级笔记:BoltDB、cgroups v1、CNI 全被移除,volume prune 与 list 的语义也反了
综合
Podman 6.0 升级笔记:BoltDB、cgroups v1、CNI 全被移除,volume prune 与 list 的语义也反了
2026-11-02 21:08:32
Podman 6.0 移除 BoltDB、cgroups v1、CNI、slirp4netns 与 iptables,升级路径和以往不同:必须先升 5.8 让 BoltDB 迁到 SQLite 再升 6,底座要换成 cgroups v2 + Netavark + Pasta + nftables。另记 CLI 语义反转(volume prune 只清匿名卷、filter 由 OR 变 AND、commit 默认暂停)与升级前检查命令。
Podman
容器
运维
版本升级
PostgreSQL 18 升级:VACUUM 开始管子表、pg_upgrade 卡在 checksum、AFTER 触发器换角色
编程
PostgreSQL 18 升级:VACUUM 开始管子表、pg_upgrade 卡在 checksum、AFTER 触发器换角色
2026-11-02 21:03:48
PostgreSQL 18 三处容易在维护窗口才暴露的行为变化:VACUUM/ANALYZE 默认递归处理继承子表需加 ONLY、initdb 默认开数据校验和导致 pg_upgrade 直接失败、AFTER 触发器改按事件入队时的角色执行。附 unlogged 分区表、COPY FROM 的 \\. 与时区缩写的兼容差异和检查命令。
PostgreSQL
数据库升级
运维
any-sync-bundle 部署笔记:外部地址首启就写死、备份要等干净停止、老 CPU 跑 AIO 会直接 illegal instruction
综合
any-sync-bundle 部署笔记:外部地址首启就写死、备份要等干净停止、老 CPU 跑 AIO 会直接 illegal instruction
2026-11-02 20:02:27
用 any-sync-bundle 单容器自建 Anytype 同步服务器:只开 TCP 33010 与 UDP 33020,默认内置 BadgerDB 与 MongoDB/Redis。重点是三个容易踩的坑——ANY_SYNC_BUNDLE_INIT_EXTERNAL_ADDRS 首启就固化进 bundle-config.yml、改环境变量无效;备份必须等 bundle_shutdown_complete;老 CPU 无 AVX 时内置 MongoDB 直接 illegal instruction。
自托管
Docker
Go
Anytype
运维
静态脱敏要保持关联:ID 单独哈希会把外键打断,改用映射表 + 同偏移日期
编程
静态脱敏要保持关联:ID 单独哈希会把外键打断,改用映射表 + 同偏移日期
2026-11-02 00:04:38
静态脱敏后测试库「看着像、用不了」的根因是列各自随机:外键指向不存在的行、唯一索引撞车、时序与分布全乱。笔记给出用 HMAC 做确定性映射 + 映射表的具体写法,逐个说明碰撞、0 值主键、日期整体平移、枚举只保分布、映射表即还原钥匙五个坑,附四条验收 SQL 与适用边界。
脱敏策略
静态脱敏
数据脱敏
数据库安全
HMAC
测试数据
运维
动态脱敏
KingbaseES 动态脱敏:anon.add_policy 只认表.列,视图配不了、CTAS 会把脱敏值落库
编程
KingbaseES 动态脱敏:anon.add_policy 只认表.列,视图配不了、CTAS 会把脱敏值落库
2026-11-02 00:03:57
KingbaseES v9.4.12 的 sys_anon 动态脱敏落地笔记:插件预加载与扩展创建、add_policy 五个参数逐个说明、default/partial/random 三类函数的实际输出,以及手册条目对应的现场后果——视图不能配策略、脱敏表上的物化视图刷不动、分区表只能挂主表、username 置空等于全用户脱敏、CTAS 落盘脱敏值不可还原、MERGE INTO 直接失败、触发器可绕过。附可复现验证 SQL 与八步排查顺序。
脱敏策略
KingbaseES
动态脱敏
数据脱敏
数据库安全
sys_anon
运维
SILO 20261026 升级笔记:多池删除改成先清旧副本,跨站复制不再 BadDigest,也不能滚动降级
综合
SILO 20261026 升级笔记:多池删除改成先清旧副本,跨站复制不再 BadDigest,也不能滚动降级
2026-11-01 21:31:39
SILO(MinIO fork)20261026 版把多池删除改成先清非权威池再删权威副本,版本桶生命周期只加删除标记时保留远端分层数据,复合 CRC 分片复制透传 FULL_OBJECT 避免 BadDigest;附 mcli 新 pending 状态与退出码语义、升级顺序与一致性边界。
对象存储
S3
MinIO
SILO
运维
Go
Docker Engine 29.9.x 行为修复笔记:容器起不来、ps -s 全挂与 fluentd panic
编程
Docker Engine 29.9.x 行为修复笔记:容器起不来、ps -s 全挂与 fluentd panic
2026-11-01 21:07:18
Docker Engine 29.9.1 修掉几条在现场很难归因的行为:--link-local-ip 收下非 link-local 地址导致容器起不来、一个容器大小算不出让 docker ps -s 整条失败、fluentd 日志驱动 TLS 加 async 触发 daemon panic、bridge 绑到非 docker firewalld zone 后重启不恢复、rootless 下 --domainname 失效。每条附判断命令。
Docker
容器
运维
排错
Redis 集群 bus 端口默认没有认证:8.4.7 的告警开关与 8.4.8 的 4GB PUBLISH 溢出
编程
Redis 集群 bus 端口默认没有认证:8.4.7 的告警开关与 8.4.8 的 4GB PUBLISH 溢出
2026-11-01 21:05:52
Redis Cluster 的 bus 端口默认既无 TLS 也无其它认证,8.4.7 起节点启动会告警,并新增 cluster-bus-port-protected-mode;开了严格模式却没开 tls-cluster 会直接拒绝启动。另含 8.4.8 的 >4GB PUBLISH 堆溢出修复、8.4.6 的 ACL key 绕过与滚动升级顺序。
Redis
集群
运维
安全加固
Nginx UI 六个 CVE 同一根因:AuthRequired 只验 JWT,不验会话从哪来
资讯
Nginx UI 六个 CVE 同一根因:AuthRequired 只验 JWT,不验会话从哪来
2026-11-01 21:04:24
Nginx UI 2.5.0 一次修掉六个高危 CVE(passkey 账号 2FA 被绕过、CSRF、备份软链注入、node token 跨节点、陈旧 JWT 提权、升级包 digest),根因都是 AuthRequired 只验 JWT、不校验 RequireSecureSession。附代码片段、PoC 响应、升级与加固清单。
Nginx
安全
运维
认证
containerd 2.4.2 补丁说明:三个 CVE、修复版本矩阵与升级后必须手工清理的 checkpoint 挂载
资讯
containerd 2.4.2 补丁说明:三个 CVE、修复版本矩阵与升级后必须手工清理的 checkpoint 挂载
2026-11-01 21:01:39
containerd 2.4.2(2026-10-13)修掉三个漏洞:畸形 manifest digest 打崩 daemon、层数据不限大小写满磁盘、伪造 Content-Length 打崩并行取层;另有 checkpoint restore 失败泄漏 mount 与 pinned snapshot,升级后要手工卸载 /tmp/checkpoint* 才能回收。附修复版本矩阵与优先顺序。
containerd
Kubernetes
容器安全
运维
Nacos 3.3.0 升级笔记:Client API 鉴权默认开启,插件配置 key 集体改名
资讯
Nacos 3.3.0 升级笔记:Client API 鉴权默认开启,插件配置 key 集体改名
2026-11-01 20:03:57
Nacos 3.3.0 把 nacos.core.auth.enabled 的默认值改成 true,依赖默认配置的客户端升级后会鉴权失败;插件配置 key 统一成 nacos.plugin.{pluginType}.{pluginName}.*,且新 key 的空白值也会覆盖旧 key。本文整理完整 key 映射表、A2A 迁移必须设 AUTO、旧导入接口返回 410、Java 17 与 Spring Boot 4.0.6 等升级检查点。
Nacos
Spring
Boot
服务发现
运维
Caddy 2.11.7:修掉 2.11.6 默认超时引发的 panic 与流截断,新增 Incremental 头
资讯
Caddy 2.11.7:修掉 2.11.6 默认超时引发的 panic 与流截断,新增 Incremental 头
2026-11-01 20:02:38
Caddy 2.11.6 为防慢速攻击引入默认 idle 读写超时后,HTTP/2 上代理读完请求体可能出现 nil pointer panic,POST 打开的 SSE 在读完 body 后正好 60 秒被截断,静默 SSE 也会被 write_idle 重置。2.11.7 修掉这三处回归,并加入 RFC 10036 的 Incremental 头替代 nginx 的 X-Accel-Buffering,附升级判断清单。
Caddy
反向代理
SSE
运维
客诉工单 SLA 计时的三处实现错误:工作日 deadline、暂存停表、重复告警
编程
客诉工单 SLA 计时的三处实现错误:工作日 deadline、暂存停表、重复告警
2026-11-01 00:05:38
自建客诉工单系统里 SLA 最容易写错的三处:工作日口径不能 created_at 加小时、暂存与退回期间要用暂停区间累减而不是打标记、超时告警要靠 (ticket_id, level) 唯一键幂等。给出 biz_calendar 日历表、ticket_pause 区间表、ticket_alert 告警表结构与对账 SQL,并划清 UTC 存储、不用 NOW()、deadline_at 落列建索引这些边界。
客诉处理
工单系统
MySQL
SLA
运维
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
13
下一页
共 13 页
到第
页
确定