Site Changelog
更新日志
记录 laohand.com 的排障手册、专题路线图、配置工具和速查表维护记录,方便查看最近新增和修订内容。
AI / LLM 本地部署排障专题
AI / LLM 本地部署排障专题:聚合 Ollama 显存不足、模型加载失败、推理速度慢、CPU offload 导致体验劣化和 GPU 驱动兼容性等本地大模型部署问题的完整排障路径。
Git / SSH 排障专题
Git / SSH 排障专题:聚合 SSL certificate problem、Permission denied (publickey)、代理配置、凭证存储、远程仓库地址修改和合并冲突解决等常见 Git 问题的完整排障路径与命令模板。
Node.js / pnpm 排障专题
Node.js / pnpm 排障专题:聚合 EADDRINUSE 端口占用、pnpm install 失败、Node 内存溢出、进程管理和 PM2 残留进程等 Node.js 运维问题的完整排障路径与命令模板。
PostgreSQL 排障专题
PostgreSQL 排障专题:聚合 connection refused、listen_addresses 配置、pg_hba.conf 认证失败、Docker 端口映射不通、连接数耗尽和锁等待等 PostgreSQL 运维问题的完整排障路径与命令模板。
Redis 排障专题
Redis 排障专题:聚合连接被拒绝、NOAUTH 认证失败、内存淘汰策略、big key 定位、Docker 网络不通和 protected-mode 远程访问限制等 Redis 运维问题的完整排障路径与命令模板。
前端 / Node.js 构建排障专题
前端 / Node.js 构建排障专题:聚合 EADDRINUSE 端口占用、pnpm install 失败、Vite/Nuxt 水合不匹配、CORS 跨域、CI 构建内存不足、JSON 解析错误和 Node 内存溢出等前端工程化问题的完整排障路径。
安全 / 证书排障专题
安全 / 证书排障专题:聚合 HTTPS 证书过期、证书链不完整、SSL certificate problem、SSH 密钥权限、OpenSSL 证书检测和 TLS 配置等安全运维问题的完整排障路径与命令模板。
归档 / 压缩排障专题
归档 / 压缩排障专题:聚合 tar 打包解压、gz/zstd 压缩格式、解压路径污染、文件权限保留、大文件分卷和备份恢复等 Linux 文件归档问题的完整排障路径与命令模板。
监控 / Prometheus 排障专题
监控 / Prometheus 排障专题:聚合 Target down、服务发现配置错误、Exporter 不可抓取、Promtool 校验失败、抓取超时和高基数标签等监控链路问题的完整排障路径。
Cron 表达式解析器
在线解析 Cron 表达式,将 cron 五段式(分 时 日 月 周)翻译为人类可读的中文描述,标注下次执行时间、常见特殊符号(*/L#)和常见示例,支持秒级(六段式)和标准五段式两种格式,浏览器本地计算不上传数据,适合排查 crontab 定时任务配置错误。
HTTP 状态码速查表
HTTP 状态码一页速查:1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务端错误的完整列表,含含义说明和常见排障场景,适合接口调试和 Nginx 排障。
JWT 解码器
在线解码 JWT(JSON Web Token),分别解析 Header 和 Payload 并格式化为可读 JSON,显示签名部分和过期时间,支持检测 alg 无签名风险和 exp 过期状态,浏览器本地解码不上传 Token,适合接口调试和认证排障场景。
Markdown 语法速查表
Markdown 常用语法一页速查:标题、文本格式、链接图片、列表、代码块、表格、引用和扩展语法,覆盖写文档和 README 的高频用法。
MySQL 常用命令速查表
MySQL 日常运维命令一页速查:连接与用户管理、库表操作、查询与索引、进程与锁排查、备份恢复和主从状态检查等 30+ 高频操作,含关键参数说明与典型排障场景示例。
OpenSSL 证书与加密速查表
OpenSSL 常用命令一页速查:证书查看与生成、CSR 和自签名证书、私钥处理、TLS 连接测试和常见加密操作等 30+ 高频操作,含参数说明与典型排障场景示例。
PM2 进程管理速查表
PM2 Node.js 进程管理常用命令一页速查:启动与重启、日志管理、集群模式、监控和生态配置文件等高频操作,含参数说明与典型排障场景。
PostgreSQL 常用命令速查表
PostgreSQL 日常运维命令一页速查:连接与角色管理、库表操作、查询分析、锁与事务排查、备份恢复和复制状态检查等 30+ 高频操作,含关键参数说明与典型排障场景示例。
Redis 常用命令速查表
Redis 日常运维命令一页速查:连接管理、字符串与数据结构操作、键空间扫描、持久化与内存排查、发布订阅和集群状态检查等 30+ 高频操作,含关键参数说明与典型排障场景示例。
sed / awk / grep 文本处理速查表
Linux 文本三剑客 sed、awk、grep 常用命令一页速查:正则匹配、替换、提取列、统计和批量处理等 30+ 高频操作,含关键参数说明与典型排障场景示例。
tar 压缩解压速查表
tar 压缩解压常用命令一页速查:tar/gz/bz2/xz/zst 各种格式、打包排除文件、查看内容和增量备份等高频操作,含参数说明与常见排障场景。
tmux 终端复用速查表
tmux 常用操作一页速查:会话管理、窗口和窗格操作、复制模式、自定义配置和常见排障场景,覆盖远程开发保持会话不丢失等高频需求。
正则表达式测试器
在线测试正则表达式,支持全局/忽略大小写/多行/单行/Unicode 标志切换,实时高亮匹配结果并显示捕获组,内置常用正则模式(邮箱、IP、URL、日期等),浏览器本地执行不上传数据,适合接口调试、日志分析和文本提取场景。
正则表达式速查表
正则表达式语法一页速查:字符类、量词、锚点、分组与捕获、零宽断言和常用正则模式,覆盖 grep/sed/awk/JavaScript/Python 等场景的高频用法。
CI 中 Docker 构建失败排查方法
CI 流水线 docker build 报错、层缓存失效或 permission denied 时,用 --progress=plain --no-cache 输出完整构建日志,检查 docker.sock 权限、buildx builder 和 Dockerfile 指令顺序,常见根因是 socket 无权限、上下文频繁变化或缓存未持久化。
CI 缓存失效排查方法
CI 缓存不命中、每次构建都从零安装依赖时,先对比 restore/save 步骤打印的 cache key 是否变化,再检查缓存路径配置、runner OS 前缀和 gh cache list 中的实际条目,常见根因是 key 把易变内容算入或 restore-keys 顺序不对。
CI/CD 常用命令速查表
GitHub Actions、GitLab CI 和 Jenkins 三大 CI/CD 流水线一页速查:gh run/rerun/cancel 调试、gitlab-runner list/verify 与 CI Lint、jenkins-cli 构建日志、Runner 在线状态与缓存磁盘排查,覆盖 job 卡顿和构建失败主路径。
CI/CD 常用排障命令
CI/CD 排障常用命令合集,Jenkins 用 jenkins-cli 与 queue/computer API 查队列和 executor,GitLab 用 gitlab-runner verify/list 检查 Runner,GitHub Actions 用 gh run list、gh run view --log-failed、gh cache 定位失败步骤和缓存。
CI/CD 流水线排障专题
CI/CD 流水线排障专题:聚合 GitHub Actions、GitLab CI 和 Jenkins 的 Runner 离线与标签不匹配、缓存失效、构建 OOM、Docker 镜像拉取失败、secrets 未注入和 CI 本地不一致等常见问题的排障路径。
Elasticsearch 分片未分配排查方法
Elasticsearch 分片长期处于 UNASSIGNED、recovery 卡在 INITIALIZING 时,用 _cat/shards 记录索引与主副本,再调 _cluster/allocation/explain 查看 DISK_WATERMARK、NODE_LEFT、CLUSTER_RECOVERED 等 decider 原因,必要时用 _cluster/reroute 手动分配。
Elasticsearch 常用命令速查表
Elasticsearch 常用命令一页速查:_cluster/health 与 _cat/nodes/shards 集群健康、allocation/explain 未分配诊断、_cat/indices 与 ILM 生命周期、thread_pool/breaker/slowlog 慢查询排查、水位线与 forcemerge 运维操作。
Elasticsearch 慢查询排查方法
Elasticsearch 查询变慢或聚合超时时,开启 index.search.slowlog 抓取慢 query,用 _nodes/stats/indices/search 观察 query_time,_cat/thread_pool/search 看 active/queue/rejected 判断是 CPU 瓶颈还是队列堆积,再优化聚合、深分页和 wildcard 查询。
Elasticsearch 磁盘水位线排查方法
Elasticsearch 磁盘占用超过 flood_stage 水位线导致索引被置为 read_only_allow_delete、节点被踢出集群时,用 _cat/allocation 查磁盘使用率,清理无用索引和 forcemerge 释放空间,再手动 PUT _settings 解除只读限制。
Elasticsearch 集群状态 RED 排查方法
Elasticsearch 集群 health=red、主分片未分配时,用 _cluster/health 记录 unassigned_shards,通过 _cat/shards 和 _cluster/allocation/explain 定位 NODE_LEFT、DISK_FULL 等原因,恢复离线节点、清理磁盘或从副本/快照 reroute 恢复。
GitHub Actions Runner 离线排查方法
GitHub Actions 自托管 Runner 显示 offline、job 一直 waiting for runner 时,用 systemctl status actions.runner.* 确认服务状态,查看 ~/actions-runner/_diag 日志中的连接错误,排查 registration token 过期和到 github.com 的网络代理与证书。
GitLab CI 流水线失败排查方法
GitLab CI 流水线失败、job 报错或 pending 不执行时,用 gitlab-runner verify 测试 Runner 与 GitLab 连接,检查 Runner tags 是否匹配 job、executor 类型(shell/docker/kubernetes)配置和 registration token,再用 journalctl 看 gitlab-runner 服务日志定位脚本或镜像问题。
Jenkins 构建卡住排查方法
Jenkins 构建卡在队列不动或执行中挂起时,用 queue/api/json 查看队列 why 阻塞原因,computer/api/json 检查 executor 是否 offline,卡死用 jstack 抓 Jenkins 主线程转储,多数是节点掉线、标签不匹配或 Quiet Period 延迟。
Kafka 分区不均衡排查方法
Kafka 分区 leader 集中在少数 broker 造成热点、消费者组频繁 rebalance 时,用 kafka-topics.sh --describe 统计各 broker leader 分布,再通过 kafka-reassign-partitions --generate/--execute/--verify 重新分配分区,rebalance 频繁则查 session.timeout.ms 与 max.poll.interval.ms。
Kafka 消费堆积排查方法
Kafka 消费组 lag 持续增大、消息堆积时,用 kafka-consumer-groups.sh --describe 查看 CURRENT-OFFSET、LOG-END-OFFSET、LAG 定位堆积分区,对比生产/消费速率判断瓶颈在消费端 GC/下游超时还是分区不均衡,再评估扩容消费者或增加分区。
Logstash Pipeline 堵塞排查方法
Logstash pipeline 堵塞、消息堆积或 dead_letter_queue 增长时,用 _node/stats/pipelines 查看 event_in/filtered/out 和 inflight_count 定位卡在 input/filter/output 哪一环,检查 ES 端 429 拒绝和 output duration_in_millis,再调优 pipeline.workers 与 batch.size。
RabbitMQ 连接数爆满排查方法
RabbitMQ 新连接被拒绝、报 no available sockets 或 file_descriptors 耗尽时,用 rabbitmqctl list_connections 统计各来源 IP 的连接与 channel 数,找出未复用连接池、未关闭 channel 的泄漏客户端,rabbitmqctl status 查 sockets/erlang processes 上限。
RabbitMQ 队列阻塞排查方法
RabbitMQ 队列 messages_ready 持续增长、消费者不消费或镜像队列同步卡住时,用 rabbitmqctl list_queues 看队列状态和消费者数,list_consumers 检查 ack_required 长时间无 ack 的阻塞消费者,list_queues slave_pids 判断镜像同步进度。
RocketMQ 消息丢失排查方法
RocketMQ 消息发送成功但消费端收不到、疑似丢失时,用 mqadmin queryMsgById 追踪消息落盘与消费轨迹,consumerStatus 查消费组 offset,检查死信队列 %DLQ%<group> 是否堆积,并确认 Broker 是否开启同步刷盘和主从同步复制。
搜索引擎常用排障命令
Elasticsearch、Logstash、Kibana 排障命令速查,ES 用 _cluster/health、_cat/shards、_cluster/allocation/explain 查集群与分片,_cat/allocation 看磁盘水位,_cat/thread_pool/search 判断慢查询瓶颈,Logstash 用 _node/stats/pipelines 看 event 流转。
搜索引擎排障专题
搜索引擎排障专题:聚合 Elasticsearch 集群变 red、分片 unassigned、磁盘超 flood watermark 拒绝写入、慢查询与聚合超时、线程池 rejected、深分页性能差和 ILM 生命周期管理等常见问题的排障路径。
消息队列常用命令速查表
Kafka、RabbitMQ 和 RocketMQ 三大消息队列一页速查:kafka-consumer-groups 查 lag 与 rebalance、rabbitmqctl list_queues/connections 排查积压泄漏、mqadmin consumerProgress 与 queryMsgById,以及磁盘水位与日志排查命令。
消息队列常用排障命令
Kafka、RabbitMQ、RocketMQ 消息队列排障命令速查,Kafka 用 kafka-consumer-groups.sh --describe 看 LAG 分区,RabbitMQ 用 rabbitmqctl list_queues/list_connections 看队列和连接,RocketMQ 用 mqadmin queryMsgById/consumerStatus 追踪消息与死信。
消息队列排障专题
消息队列排障专题:聚合 Kafka、RabbitMQ 和 RocketMQ 的消费 lag 持续增长、消息丢失与重复、消费者频繁 rebalance、连接和 channel 泄漏、Broker 内存 flow control 等常见问题的完整排障路径。
Base64 编码原理与使用场景
用 base64、base64 -d 和 Buffer.from().toString('base64') 编解码字符串,理解 Base64 用 64 个可打印字符表示二进制、编码后体积膨胀约 4/3,以及 URL Safe 变体把 + / 替换为 - _ 的用法,Base64 是编码不是加密。
Base64 编码解码工具
支持 UTF-8 编码的 Base64 在线编码与解码工具,能正确处理中文、Emoji 与特殊字符,浏览器本地完成不上传数据,适合接口调试、JWT 拆解、图片 Data URL 和邮件附件转换等场景。
Certbot 证书自动续期失败排查
Certbot 自动续期 Let's Encrypt 证书失败时,用 certbot renew --dry-run 复现真实错误,覆盖 80 端口 HTTP-01 验证不通、Nginx 未放行 .well-known/acme-challenge、DNS TXT 记录未生效和 certbot.timer 未触发等常见根因。
chmod 文件权限命令
使用 chmod 修改 Linux 文件权限的常用命令,数字模式 755 等于 rwxr-xr-x,字母模式 u+x/g-w 按用户/组/其他加减权限,chmod -R 递归修改目录,chmod --reference 复制参考文件权限,目录必须有 x 权限才能进入。
Cron 表达式速查表
Cron 表达式一页速查:分/时/日/月/周 5 段格式说明、每 5 分钟与工作日等常用示例、*/N 与 A-B/A,B,C 特殊符号、@reboot/@daily/@hourly 时间宏,以及 PATH 与输出重定向等踩坑要点。
crontab 定时任务不执行的常见原因
crontab 定时任务到点不执行时,先看 /var/log/cron 或 syslog 确认任务是否触发,再确认 crond 服务状态、命令绝对路径、cron 最小 PATH 环境变量、脚本执行权限和 SHELL 差异等常见根因。
crontab 定时任务命令
crontab 定时任务日常管理命令,crontab -e 编辑当前用户任务、-l 查看列表、-r 删除全部,crontab -u 管理指定用户任务,配合 cron 表达式「分 时 日 月 周 命令」和 @reboot/@daily 别名,systemctl status crond 检查服务状态。
curl 调试 HTTP 速查表
curl 调试 HTTP 常用命令一页速查:GET/POST 基础请求、-v/-I/-w 调试详情、-x 代理与 --connect-timeout 超时重试、-u/-F/-o 认证上传下载,接口排障、抓包验证和监控探测直接对照。
dig 和 nslookup 查询 DNS 命令
使用 dig 和 nslookup 查询 DNS 的常用命令,dig +short 快速拿到 A/CNAME 记录、dig @1.1.1.1 指定公共 DNS 对比结果、dig example.com MX/TXT 查特定类型、dig +trace 从根域名追踪权威 DNS,脚本排障优先用 dig。
Docker Compose 命令速查表
Docker Compose 命令一页速查:up/down/restart 启停编排、ps/logs/top 日志与状态、config/build/exec/run 配置构建与调试、--scale 水平扩容与命名卷管理,多服务项目起停排障直接对照。
Docker Volume 权限拒绝排查
Docker 挂载卷后容器进程写文件报 permission denied 时,用 docker exec id 查看容器运行用户 UID,对比宿主机目录 owner 和 mode,再决定是 chown 目录还是通过 --user、Dockerfile USER 或 SELinux :Z 调整容器用户匹配宿主机权限。
Docker 容器网络不通排查
Docker 容器之间 ping/curl 不通、DNS 无法解析容器名或访问不了宿主机服务时,用 docker network inspect 查看网络成员,确认容器是否在同一自定义 network,Docker 内置 DNS 只在自定义网络生效,宿主机访问用 host.docker.internal。
Docker 镜像清理与瘦身
Docker 镜像和构建缓存占满磁盘时,用 docker system df 查看整体占用,按 dangling 中间层、未使用镜像、构建缓存的顺序渐进清理,避免直接 docker system prune -a 误删仍被停止容器引用的镜像。
find 查找文件命令
Linux find 查找文件的常用命令,find -name/-type 按名称和类型过滤、-size +100M 查大文件、-mtime -7 按修改时间查最近变更、-maxdepth 限制递归深度、-exec 或 xargs 对结果批量执行命令。
Git 保存用户名密码的正确方式
Git 通过 HTTPS 拉代码每次都要输入用户名密码时,配置 credential.helper 选择 store 明文、cache 内存缓存或 Windows 下的 manager 加密存储,SSH 仓库改用密钥认证,避免把密码明文写在 remote URL 里。
Git 修改远程仓库地址
更换 GitHub、GitLab 或私有 Git 仓库地址时,用 git remote set-url origin <new-url> 一步替换远程 URL,配合 git remote -v 验证,再介绍 add upstream、remove、rename 等相关操作,改地址不会影响分支追踪关系。
Git 合并冲突解决流程
git merge 或 git rebase 出现冲突时,用 git status 列出冲突文件,逐个手动解决 <<<<<<< ======= >>>>>>> 标记,再 git add 标记为已解决,merge 场景 git commit、rebase 场景 git rebase --continue,需要撤销用 --abort。
Hash 哈希计算器
使用浏览器内置 Web Crypto API 计算文本的 SHA-1、SHA-256、SHA-384、SHA-512 哈希值,本地完成不上传数据,适合校验文件完整性、生成 API 签名、密码摘要和数据指纹等安全场景。
hosts 文件修改不生效排查
修改 /etc/hosts 或 Windows hosts 文件后域名解析未生效时,用 getent hosts 或 ping 验证系统是否读取,Linux 重启 nscd/systemd-resolved、Windows 执行 ipconfig /flushdns 刷新缓存,浏览器可能启用 DoH 绕过 hosts 需要单独关闭。
HTTPS 混合内容(Mixed Content)排查
HTTPS 页面加载 http:// 资源被浏览器提示 Mixed Content blocked 时,用 F12 Console 定位被阻止的 script/stylesheet/image,区分 active/passive 混合内容并逐个改成 https 或相对协议,也可在 Nginx 加 CSP upgrade-insecure-requests 兜底。
Java 查看线程堆栈命令
Java 生产环境抓线程堆栈的常用命令,jps -l 找 Java 进程 PID,jstack <pid> 打印线程栈、-l 附带锁信息,jcmd Thread.print 是 jstack 的替代,jstack 无响应时用 kill -3 触发 JVM dump 到 stdout,arthas thread 可在线不中断进程排查死锁。
JSON 格式化与校验工具
在线格式化、压缩和校验 JSON 数据,支持 2 空格、4 空格和 Tab 缩进切换,精准定位解析错误的行号与位置,浏览器本地处理不上传数据,适合接口调试、日志分析与配置文件排查。
JSON 解析失败常见原因与修复
JSON.parse 报 Unexpected token、SyntaxError 时,按行列号定位问题字符,检查是否有 trailing comma、单引号、// 注释、BOM 头或非 UTF-8 编码,用 jq、python -m json.tool 或 node 复现校验,标准 JSON 不支持注释与尾随逗号。
Linux 查看 TCP 连接数与状态
Linux 服务器需要统计 TCP 连接总数、状态分布或排查 TIME_WAIT/CLOSE_WAIT 堆积时,用 ss -s 看总览,ss -tan 按状态分组统计,netstat 和 /proc/net/tcp 交叉验证,ss 从 netlink 读取比 netstat 更快也更全。
Nginx 301/302 跳转配置与常见问题
Nginx 配置 HTTP→HTTPS、旧域名迁移或路径重写时,用 return 301 https://example.com$request_uri 做永久跳转、302 做临时跳转,避免 rewrite + if 组合,配合 curl -I -L 验证 Location 头,跳转循环则检查 server 块之间是否互指。
Nginx 504 Gateway Timeout 排查方法
Nginx 返回 504 Gateway Timeout 时,error.log 会打印 upstream timed out (110: Connection timed out),先测后端接口真实响应时间区分偶发/持续超时,再决定是优化后端慢查询/依赖阻塞还是调整 proxy_read_timeout 与 proxy_send_timeout。
Nginx 反向代理 WebSocket 配置与排障
Nginx 反向代理 WebSocket 出现 1006 异常关闭、连接建立后很快断开或收不到消息时,必须设置 proxy_http_version 1.1、透传 Upgrade 与 Connection: upgrade 头,并调大 proxy_read_timeout 让长连接不被 60s idle 超时断开,握手成功会返回 101。
Nginx 限流配置命令
Nginx 常用限流配置命令,limit_req_zone 在 http 块定义速率与共享内存,limit_req 在 location 启用并配合 burst/nodelay 控制突发,limit_conn 限制单 IP 并发连接数,limit_rate 限制响应带宽,配合 geo/map 实现 IP 白名单豁免。
Node.js EADDRINUSE 端口被占用排查
Node.js 启动服务报 Error: listen EADDRINUSE: address already in use :::3000 时,用 lsof -iTCP:3000 -sTCP:LISTEN 或 ss -lntp 找到占用进程 PID,判断是自己的僵尸进程还是其他服务,再决定 kill 释放端口还是通过 PORT 环境变量换端口。
Redis 连接不上怎么排查
Redis 客户端报 Could not connect: Connection refused 或 NOAUTH Authentication required 时,先确认 6379 端口是否监听、redis.conf 的 bind 是否限制为 127.0.0.1、protected-mode 是否阻止远程访问,再核对 requirepass 密码和 Docker 端口映射与容器网络。
sed 文本替换命令
Linux sed 文本替换的常用命令,sed 's/old/new/g' 全局替换(先不加 -i 预览),sed -i 原地修改文件、-i.bak 自动备份,sed -n '10,20p' 按行号预览,sed '/^#/d' 删除匹配行,批量改配置前务必先预览。
Spring Boot 端口被占用怎么解决
Spring Boot 启动报 Web server failed to start: Port 8080 was already in use 时,Linux 用 lsof -iTCP:8080 -sTCP:LISTEN、Windows 用 netstat -ano | findstr :8080 找占用进程,判断是自身僵尸 Java 进程还是他人服务,再决定 kill 释放或通过 --server.port 换端口。
SSH 连接与配置速查表
SSH 连接与配置一页速查:ssh -i/-p/-vvv 登录调试、ssh-keygen 与 ssh-copy-id 密钥管理、~/.ssh/config 别名与 ProxyJump 跳板、-L/-R/-D 端口转发与 SOCKS 代理,免密登录和开隧道直接对照。
systemd 服务管理速查表
systemd 服务管理一页速查:systemctl start/stop/reload/enable 启停自启、status/is-active/list-units 状态查看、journalctl -u/-f/-p err/--since 日志过滤,以及 timer 定时任务替代 crontab 的用法。
tcpdump 抓包命令
Linux tcpdump 抓包排查网络问题的常用命令,tcpdump -i eth0 -nn 不解析主机名和端口名减少延迟,port 80/host 过滤按端口或 IP 抓包,-w capture.pcap 保存文件后用 Wireshark 分析,权限不够用 sudo 或 setcap cap_net_raw。
URL 编码中空格的 + 与 %20 区别
解释 URL 编码中空格何时是 + 何时是 %20,application/x-www-form-urlencoded 表单里空格编码为 +,RFC 3986 URI 规范里空格编码为 %20,JS 的 encodeURIComponent/encodeURI 都用 %20,URLSearchParams 构建 query 时会自动用 +。
URL 编码解码工具
对 URL、查询参数和 form 表单值进行在线编码解码,区分 encodeURIComponent 与 encodeURI 的语义差异,正确处理中文、空格和保留字符,浏览器本地运行不上传数据,适合接口调试和路由排查。
UUID 生成器
批量在线生成 UUID v4 随机版本与 v7 时间戳排序版本,支持大小写切换、带/去横线格式,基于浏览器内置 crypto.getRandomValues 安全随机源,适合数据库主键、请求追踪 ID 与唯一标识生成。
时间戳转换工具
在 Unix 时间戳和可读日期之间双向转换,自动识别秒级和毫秒级精度,同时显示本地时区与 UTC 时间以及 ISO 8601 格式,适合排查日志时间线、Cookie 过期时间和接口时间戳差异问题。
Docker / Compose 排障专题
Docker / Compose 排障专题:聚合容器端口映射不通、镜像拉取失败、Compose 配置不生效、磁盘清理与孤儿镜像、容器网络与 DNS、volume 权限等常见问题的完整排障流程与命令模板。
Kubernetes 排障专题
Kubernetes 排障专题:聚合 kubectl 命令、Pod Pending 与 CrashLoopBackOff、ImagePullBackOff、Service 无 endpoints、Ingress 502、探针失败重启和 Prometheus target down 等 K8s 现场问题的完整排障路径。
Linux 排障专题
Linux 排障专题:把 systemd 服务管理、磁盘和内存告警、CPU load、端口占用、SSH 免密登录、journalctl 日志和文件权限等服务器现场问题串成一条从资源到配置的完整排障路径。
Nginx / HTTPS 专题
Nginx / HTTPS 排障专题:聚合 502 Bad Gateway、upstream timed out、反向代理 proxy_pass、SSL 证书过期与 fullchain、WebSocket Upgrade、client_max_body_size 413 等常见问题的完整排障流程。
数据库 / 缓存专题
数据库 / 缓存排障专题:聚合 MySQL Too many connections、lock wait timeout、慢查询、Redis OOM 与 big key、连接池打满和缓存穿透击穿等常见问题的完整排障路径与命令模板。
网络 / DNS / 代理专题
网络 / DNS / 代理排障专题:聚合 curl -v 抓包、DNS 解析失败、HTTP/HTTPS 代理与 socks5h、SSL 证书链、端口连通性和 HTTP 502/504 等链路问题的完整排查方法与命令组合。
CI 构建内存不足与进程被杀排查
CI 构建时出现 JavaScript heap out of memory、Killed 或 exit code 137,先区分 Node 堆内存不足与系统 OOM,再调整 NODE_OPTIONS=--max-old-space-size、Runner 内存和并发 job,覆盖 GitHub Actions、GitLab CI 和自建 Runner 场景。
CORS 预检 OPTIONS 请求失败排查
浏览器请求被 CORS 拦截、OPTIONS 预检返回 404/405 或缺少 Access-Control-Allow-Origin 头时,用 curl -X OPTIONS 复现预检,核对服务端允许的 Origin、Method、Headers 与 credentials 组合,注意带 Cookie 时不能用 * 通配。
curl 调试 HTTP 请求常用命令
整理 curl -v、-I、--resolve、--connect-timeout、代理和请求耗时分析命令。
DNS 解析失败排查:NXDOMAIN、SERVFAIL 和超时
域名解析出现 NXDOMAIN、SERVFAIL、Temporary failure in name resolution 或解析慢时,用 dig、dig @1.1.1.1、dig +trace、resolvectl status 交叉对比本机解析器、公共 DNS 和权威 DNS,快速定位问题出在哪一层。
Docker Compose 容器反复重启排查
Docker Compose 容器一直 Restarting 时,用 docker compose ps 看退出码和重启次数,读取失败服务的历史日志、docker compose config 展开环境变量与端口卷,常见根因是启动命令失败、环境变量缺失、端口冲突或 depends_on 未等依赖 ready。
Docker 常用命令速查表
Docker 常用命令一页速查:镜像构建拉取、容器 run/exec/logs、网络与数据卷、Compose 编排以及 system prune 清理孤儿资源等 30+ 高频操作,含关键参数说明与典型排障场景示例。
Docker 查看容器日志与状态命令
使用 docker logs、inspect、stats、events 排查容器启动失败或运行异常的常用命令,docker ps -a 看退出状态,docker logs --tail 200 -f --since 读取近期日志,docker inspect 展开端口、挂载和环境变量,stats 看资源占用。
Docker 镜像拉取失败排查:超时、证书和架构不匹配
docker pull 出现 TLS handshake timeout、manifest unknown、no matching manifest 或 x509 unknown authority 时,先按错误文本区分网络、Registry 认证、镜像 tag 不存在或 CPU 架构不匹配,再针对性配置代理、镜像源、docker login 或私有仓库 CA。
Git 常用命令速查表
Git 常用命令一页速查:add/commit/stash 暂存、branch/switch/merge/rebase 分支管理、reset/revert/reflog 回退救火、remote/fetch/push 远程操作,覆盖日常协作与提交搞乱后的救火场景。
Git 配置和取消代理命令
Git 配置和取消 HTTP/HTTPS/SOCKS5 代理的常用命令,git config --show-origin --get-regexp proxy 找出代理配置来自 system/global/local 哪一级,http.proxy 只影响 HTTP 仓库,SSH 仓库需要单独配置 ssh ProxyCommand 或 IdentityFile。
journalctl 查看服务日志命令
journalctl 查看 systemd 服务日志的常用命令,journalctl -u <service> -n 200 --no-pager 看近期错误,-f 实时跟踪,--since/--until 按时间窗过滤,-p warning..alert 按优先级过滤,--disk-usage 查看日志占用与 vacuum 清理。
kubectl 常用命令速查表
kubectl 常用命令一页速查:get/describe/logs/exec 现场调试、scale 与 rollout 更新回滚、context 与 namespace 切换、events 事件筛查,覆盖 Pod CrashLoop 和 ImagePullBackOff 排障主路径。
kubectl 排查 Pod 状态常用命令
kubectl 排查 Pod 异常的核心命令组合,kubectl get pod 看状态与重启次数、describe pod 看调度/拉镜像/探针/OOM 事件、logs --tail=200 读近期日志,CrashLoopBackOff 场景加 --previous 读上一轮崩溃日志,exec -it 进容器复现问题。
kubectl 排查 Service 和 Ingress 命令
kubectl 排查 Kubernetes Service 与 Ingress 路由不通的常用命令,kubectl get svc,endpoints 看 endpoints 是否为空判断 selector 是否匹配,describe ingress 看 rules 和 IngressClass,用 curl -H Host 复现入口路由并核对 targetPort 与容器端口。
Kubernetes ImagePullBackOff 排查流程
Kubernetes Pod 卡在 ImagePullBackOff/ErrImagePull 时,kubectl describe pod 读取 Events 里 Failed to pull image 的完整错误,逐个排查镜像 tag 是否存在、私有仓库 imagePullSecrets 是否引用、节点到 Registry 网络、以及多架构镜像 manifest 是否匹配当前节点。
Kubernetes Ingress 404/502 排查流程
Kubernetes Ingress 返回 404 或 502 时,用 curl -H Host 精确复现路由,再 kubectl describe ingress 检查 rules/pathType/IngressClass,404 多为 host 或 path 没命中,502 多为 Service Endpoints 为空或 targetPort、Pod readiness 有问题。
Kubernetes Pod CrashLoopBackOff 排查流程
Kubernetes Pod 陷入 CrashLoopBackOff、Back-off restarting failed container 时,用 kubectl logs --previous 读取上一轮崩溃日志,kubectl describe pod 看 Last State/Exit Code/OOMKilled,逐个排查应用启动错误、liveness 探针误杀、ConfigMap/Secret 挂载缺失和内存限制。
Kubernetes Service 访问不通排查
Kubernetes Service 通过 ClusterIP/NodePort 访问不通时,先 kubectl get endpoints 看是否为空——空则是 selector 与 Pod labels 不匹配,有值再核对 targetPort、Pod readiness 和 NetworkPolicy,最后用 busybox nslookup 验证集群 DNS 是否解析 svc.cluster.local。
Linux CPU 和 Load Average 过高排查流程
Linux 机器出现 load average 高、top us/sy/wa 异常时,先区分 CPU 使用率高还是 Load 高——CPU 高用 top -H 和 pidstat 找线程,Load 高 CPU 却低就查 iowait、D 状态进程和 steal time,避免盲目重启掩盖真实瓶颈。
Linux OOM Killer 与内存不足排查
Linux 进程被 OOM Killer 杀、容器状态 OOMKilled 或 dmesg 出现 Out of memory: Killed process 时,用 dmesg -T 与 journalctl -k 查历史内核日志确认时间和被杀进程,区分宿主机 OOM 与容器 cgroup 限制,再看进程 RSS 增长趋势排查泄漏。
Linux 排障命令速查表
Linux 服务器排障命令一页速查:top/ps 进程负载、ss/lsof 端口连接、df/du/free 磁盘内存、journalctl/dmesg 日志与 OOM 定位,服务器现场按现象选组快速采集证据。
Linux 查看磁盘空间和大文件命令
Linux 排查磁盘空间占用的常用命令,df -hT 定位满的挂载点,du --max-depth=1 | sort -h 逐层缩小大目录,find -size +500M 找单个大文件,du 与 df 不一致时用 lsof +L1 查已删除但仍被进程持有的文件。
Linux 磁盘占满排查与安全清理
Linux 报 No space left on device 或磁盘占满时,用 df -hT 定位具体挂载点,du --max-depth 逐层找大目录,journalctl --disk-usage 和 docker system df 排查日志/镜像占用,lsof +L1 找已删除但仍被进程持有的文件释放空间。
lsof 查看文件句柄和端口命令
lsof 查看文件句柄、端口和网络连接占用的常用命令,lsof -iTCP:8080 -sTCP:LISTEN 找端口监听进程、lsof -p <pid> 查进程打开的所有文件、+D 递归扫描目录、+L1 找已删除但仍被打开的文件,配合 /proc/<pid>/limits 判断 nofile 限制。
MySQL Lock wait timeout exceeded 排查
MySQL 报 Lock wait timeout exceeded; try restarting transaction 时,用 SHOW ENGINE INNODB STATUS 看 LATEST DETECTED DEADLOCK,通过 information_schema.innodb_trx 与 data_lock_waits 找 blocking 事务,短期 kill 会话,长期缩短事务并补索引避免大范围锁。
MySQL Too many connections 排查与缓解
MySQL 报 Too many connections、连接数达到 max_connections 时,SHOW PROCESSLIST 按用户/IP/数据库/状态聚合连接,识别大量 Sleep 或长时间 Sending data 的会话,检查应用连接池 max pool size 是否超过数据库承载,而不是盲目调大 max_connections。
MySQL 查看锁等待和事务命令
MySQL 排查锁等待和事务阻塞的常用命令,SHOW FULL PROCESSLIST 看当前活跃会话与状态,SHOW ENGINE INNODB STATUS 读 LATEST DETECTED DEADLOCK,information_schema.innodb_trx 和 performance_schema.data_lock_waits 找 blocking 事务,必要时 KILL <thread_id>。
Nginx 413 Request Entity Too Large 排查方法
上传大文件被 Nginx 返回 413 Request Entity Too Large 时,先确认错误页来自 Nginx、Ingress、CDN 还是后端框架,再用 nginx -T | grep client_max_body_size 检查是否被更近的 location 覆盖,逐层统一 http/server/location 的 body size 限制。
Nginx HTTPS 证书过期与链不完整排查
浏览器提示 NET::ERR_CERT_DATE_INVALID、curl 返回 SSL certificate problem: certificate has expired 时,用 openssl s_client -connect 查线上实际证书 dates,再对比服务器文件、确认 ssl_certificate 指向 fullchain.pem 且 certbot 续期后 reload 了 Nginx。
Nginx 测试配置与平滑重载命令
Nginx 修改配置后安全上线的标准命令,先 nginx -t 校验语法、nginx -T 查看最终合并配置,再 systemctl reload nginx 平滑加载新配置(reload 失败会保留旧配置),最后 tail error.log 检查启动错误,避免直接 restart。
Nginx 配置与命令速查表
Nginx 配置与命令一页速查:nginx -t/-s reload/-T 语法测试与重载、location 匹配优先级、proxy_pass 反向代理片段与超时上传限制、access/error 日志排查,改配置和查 502/413 时直接对照。
Node/Nuxt 构建内存排查命令
Node/Nuxt/Next 构建报 JavaScript heap out of memory 或 exit code 137 时排查内存的常用命令,用 NODE_OPTIONS=--max-old-space-size=4096 扩大 V8 堆,du 查看 .nuxt/.output/.next 构建产物体积,free -h 与 dmesg 判断系统 OOM。
Nuxt/Vue hydration mismatch 排查方法
Nuxt/Vue 生产构建出现 Hydration completed but contains mismatches 或首屏闪烁时,先用 build+preview 复现,检查是否 SSR 阶段使用了 Math.random、Date.now、localStorage、window 或按 viewport 输出不同 DOM,把浏览器专属逻辑放到 ClientOnly 或 mounted 之后。
openssl 检查 HTTPS 证书命令
openssl s_client 检查线上 HTTPS 证书的常用命令,openssl s_client -connect example.com:443 -servername 触发 SNI 拿到真实证书,用 openssl x509 -noout -dates -issuer -subject 提取有效期与颁发者,-showcerts 查看完整证书链。
pnpm install 失败排查:锁文件、代理和原生依赖
pnpm install 失败或 ERR_PNPM_OUTDATED_LOCKFILE 时,先区分失败发生在下载 registry、解析 pnpm-lock.yaml 还是 postinstall 原生编译阶段,检查 Node 版本、registry、HTTP_PROXY 组合,CI 用 --frozen-lockfile 复现,不要一上来就删 lockfile。
PostgreSQL connection refused 排查方法
psql 连接 PostgreSQL 报 could not connect to server: Connection refused 时,先确认服务是否 running、5432 是否监听、postgresql.conf 的 listen_addresses 是否绑定到目标 IP,再逐层排查防火墙、安全组和 Docker 端口映射,pg_hba.conf 只影响后续认证。
Prometheus Target Down 排查流程
Prometheus Targets 页面显示 down、context deadline exceeded 或 connection refused 时,先看 Last Error,从 Prometheus 所在网络位置 curl 目标 /metrics,Kubernetes 场景检查 ServiceMonitor 的 selector 与 namespaceSelector 是否匹配 Service labels 和端口名。
Prometheus 配置检查和 Target 排查命令
Prometheus 配置校验和 target 排查的常用命令,promtool check config 排除 prometheus.yml 语法错误,从 Prometheus 所在网络位置 curl target /metrics 复现抓取,Kubernetes 场景 kubectl describe servicemonitor 检查 selector 和端口名匹配。
ps 查看进程和资源占用命令
Linux ps 查看进程静态快照的常用命令,ps aux --sort=-%cpu/-%mem 按 CPU 或内存排序找可疑进程,ps -ef | grep 按名称过滤,ps -o pid,ppid,stat,etime,cmd 查父子进程和状态,pstree -ap 展示进程树,动态观测配合 top/pidstat。
Redis 内存占用过高与淘汰策略排查
Redis 内存持续上涨、报 OOM command not allowed when used memory > 'maxmemory' 或 evicted_keys 飙升时,先用 INFO memory 看 used_memory/maxmemory,CONFIG GET maxmemory-policy 确认策略是否 noeviction,再用 --bigkeys 找大 key 并检查 TTL 是否缺失。
SSH Permission denied (publickey) 排查流程
ssh 或 git 拉代码报 Permission denied (publickey) 时,先用 ssh -vvv 看客户端提交了哪把 key 和服务端 Authentications that can continue,再核对 authorized_keys 内容、~/.ssh 目录 700 与 authorized_keys 600 权限,云服务器还要检查 sshd_config 和安全组。
SSH 生成密钥和分发公钥命令
SSH 生成密钥与分发公钥的常用命令,ssh-keygen -t ed25519 生成推荐算法密钥,ssh-copy-id 一键分发公钥到 authorized_keys,配合 ~/.ssh 700、authorized_keys 600 权限,多账号在 ~/.ssh/config 里用 Host + IdentityFile 区分。
systemctl 管理服务常用命令
systemctl 管理 Linux systemd 服务的常用命令,systemctl status 查看服务状态与最近错误、start/stop/restart 控制服务、enable --now 一键开机自启并启动、reload 平滑加载配置,失败时立即 journalctl -u <service> 看详细日志。
systemd timer 定时任务不执行排查
systemd timer 到点不触发或触发了但任务没跑时,用 systemctl list-timers --all 查看 NEXT/LAST,确认 timer 是否 enable 且 active,systemd-analyze calendar 校验 OnCalendar 表达式与时区,再用 journalctl -u <service> 看同名 service 的实际执行日志和退出码。
systemd timer 定时任务常用命令
systemd timer 定时任务的常用管理命令,systemctl list-timers --all 看所有 timer 的 LAST/NEXT,systemctl status backup.timer/backup.service 分别查触发器与业务日志,systemd-analyze calendar 校验 OnCalendar 表达式,systemctl start 手动触发复现。
tar 压缩解压常用命令
Linux tar 打包压缩解压的常用命令,tar -czf 用 gzip 压缩、--zstd 用 zstd 平衡速度与压缩率,解压前先 tar -tf 查看包内路径避免污染当前目录,-C 指定解压目录,--numeric-owner 迁移系统文件时保留 UID/GID。
Too many open files 文件句柄耗尽排查
应用日志出现 Too many open files (EMFILE) 时,用 cat /proc/<pid>/limits 看 Max open files,ls /proc/<pid>/fd | wc -l 统计已打开数,lsof -p 按 socket/日志/deleted 文件分类找泄漏点,systemd 服务需要在 unit 里设 LimitNOFILE 并 daemon-reload。
Vim 常用操作速查表
Vim 常用操作一页速查:hjkl/gg/G/w/b 光标移动、i/o/dd/yy/p/u 编辑与撤销、/word 和 :%s/old/new/g 查找替换、v/V/Ctrl-v 可视模式、:wq/:q!/:w !sudo tee % 保存退出,服务器改配置卡壳时直接查。
curl 代理命令生成器
输入代理地址一键生成 curl 命令行代理参数、shell 环境变量以及 Git 全局代理配置,覆盖 HTTP、HTTPS 与 SOCKS5 协议,适合排查国内外网络连接、镜像加速和企业代理相关的连通性问题。
curl 使用代理连接超时排查
curl -x 通过 HTTP/SOCKS5 代理访问超时或 Failed to connect to proxy 时,用 curl -v 定位卡在代理还是目标站,区分 http 与 socks5/socks5h 协议、代理端 DNS 解析和 NO_PROXY 环境变量是否排除了目标域名。
Docker Compose 配置生成器
根据镜像、端口、卷、环境变量生成 docker-compose.yml 模板。
Docker 端口映射后外部访问不了怎么排查
Docker 用 -p 映射端口后从宿主机或外部访问不通时,先确认 docker ps 是否显示 0.0.0.0:host->container 映射,再进容器 ss -lntp 检查应用是否监听 0.0.0.0 而非 127.0.0.1,最后排查 firewalld/ufw/云安全组。
Git SSL certificate problem 解决方法
Git clone/pull 报 SSL certificate problem: unable to get local issuer certificate 时,用 GIT_CURL_VERBOSE=1 打印真实证书链,确认是否走了公司代理,把代理 CA 加入 http.sslCAInfo 或系统信任,避免直接关闭 sslVerify。
Linux 查看端口占用命令
Linux 查看端口占用与监听进程的常用命令,ss -lntp 快速列出所有 TCP 监听端口和 PID/进程名,lsof -iTCP:8080 -sTCP:LISTEN 定位具体进程,fuser 也可查端口,新系统优先用 ss 替代 netstat。
Linux 端口占用排查助手
输入端口号一键生成 ss、lsof、fuser、netstat、journalctl 等排查命令,快速定位监听进程、占用连接和 systemd 服务状态,服务器端口冲突和 address already in use 排障必备。
LLM 显存计算器
估算 7B/14B/32B/70B 模型在不同量化精度和上下文长度下的显存需求。
Nginx 502 Bad Gateway 排查方法
按 upstream 连接、端口监听、防火墙规则、proxy_timeout 超时和 error.log 日志顺序排查 Nginx 502 Bad Gateway,覆盖 Connection refused、upstream timed out 和 no live upstreams 等常见错误。
Nginx 反向代理配置生成器
可视化生成 Nginx 反向代理配置,支持 upstream 后端、SSL 证书、WebSocket 升级、proxy_pass 路径转发、proxy_read_timeout 与 client_max_body_size 等常用指令,浏览器本地生成可直接复制到 nginx.conf。
Ollama 显存不足怎么处理
Ollama 运行大模型报 CUDA out of memory 或 not enough VRAM 时,用 nvidia-smi 与 ollama ps 查显存占用,优先换更小参数模型或更低量化(Q4/Q5),再通过 OLLAMA_CONTEXT_LENGTH 降低上下文长度,CPU offload 可救急但推理速度会显著下降。
systemd 服务启动失败排查流程
systemctl 启动服务后 status 显示 failed、exit-code 或 status=203/EXEC 时,用 journalctl -u <service> -n 200 读取完整错误,检查 ExecStart 是否绝对路径、WorkingDirectory 是否存在且服务用户有权限,改 unit 后必须 daemon-reload。
systemd 服务文件生成器
可视化生成 Linux systemd service 单元文件,支持 ExecStart、User、Restart、Environment、After 等常用指令,同时输出 systemctl 启停、enable 自启和 journalctl 查看日志的完整命令片段。