免费编程教程

Linux 后台任务用 disown 让进程不随终端退出

已经在前台运行的任务按 Ctrl+Z 暂停然后 bg 放到后台再用 disown 让它不随终端退出而结束。本文解释前后台作业控制和 SIGHUP 信号的关系。

25 0 0
2026-07-05
Docker 容器退出后数据会丢失吗

容器删除后容器内写入的数据会丢失因为写在了容器的可写层。用 volume 或 bind mount 挂载宿主机目录才能持久化数据。本文解释容器文件系统的层次结构。

17 0 0
2026-07-05
Nginx 返回 504 Gateway Timeout 上游响应太慢

Nginx 返回 504 表示上游服务器在指定时间内没有返回响应。调整 proxy_read_timeout 可以让 Nginx 等久一点但不解决上游慢的问题。本文教你用 curl 分段排查上游慢在哪一步。

17 0 0
2026-07-05
Docker run --rm 参数的作用和场景

--rm 参数让容器退出后自动删除不会留下已停止的容器。适合测试和临时运行的任务。长期运行的服务不要加 --rm 否则日志就找不到了。

33 0 0
2026-07-05
Nginx 限制 IP 访问用 allow 和 deny

Nginx 通过 allow 和 deny 指令按顺序匹配 IP 访问规则最后匹配的是默认行为。只允许特定 IP 访问管理后台的场景可以用 http_access_module。本文给出白名单的黑名单两种配置方式。

15 0 0
2026-07-05
Docker Compose 端口映射宿主机端口被占用了

Docker Compose 中的 ports 映射如果宿主机端口已被占用容器启动失败。改成随机映射让宿主机自动分配端口或者先查占用的进程处理掉。本文说明排查方法。

16 0 0
2026-07-05
Linux 查看端口被哪个进程占用用 ss 不用 netstat

ss -tlnp 比 netstat -tlnp 更快更现代。ss 直接从内核获取 socket 信息netstat 遍历 /proc。本文给出 ss 的常用组合包括过滤特定端口和显示进程名。

23 0 0
2026-07-05
Docker 容器内不推荐用 root 用户运行

Docker 容器默认以 root 运行存在安全风险一旦被入侵攻击者获得 root 权限。Dockerfile 里通过 USER 指令切换到非 root 用户运行。本文展示创建运行用户的完整 Dockerfile。

17 0 0
2026-07-05
Nginx 配置了 HTTPS 但 Chrome 仍然报 Not Secure

Nginx 配置了证书但 Chrome 还是报不安全通常是因为没有配置中间证书链或证书链不完整。浏览器需要完整的链才能验证到根证书。本文解释如何获取和配置完整链。

18 0 0
2026-07-05
Dockerfile 最佳实践 多阶段构建减少镜像体积

Dockerfile 写得不好镜像体积很容易膨胀到 1GB 以上。多阶段构建让最终镜像只包含运行所需文件不包含编译工具链。本文用 Go 应用的 Dockerfile 展示从 800MB 降到 20MB 的过程。

12 0 0
2026-07-05
Docker 不限制日志文件大小磁盘会被撑爆

Docker 默认不限制日志文件大小长期运行后日志可能撑满磁盘。docker run 加 log-opt max-size 10m max-file 3 或者在 compose 和 daemon.json 里全局配置可以限制。

22 0 0
2026-07-05
Shell 命令找不到先检查 PATH

装了工具却打不开报 command not found 通常不是没装而是可执行文件不在 PATH 包含的目录里。echo $PATH 排查找到安装路径加到 PATH 里即可。

14 0 0
2026-07-05
Nginx 413 Request Entity Too Large 请求体太大

Nginx 默认限制请求体 1MB 超过返回 413 上传文件时经常遇到。这个配置在 http/server/location 三层都能设置找错了层级改了也不生效。本文教你准确找到限制层级。

24 0 0
2026-07-05
scp 断了要重传 rsync 可以续传

scp 断了要重传 rsync 可以续传是开发中经常遇到的问题。本文从实际场景出发分析原因并给出可操作的解决方案适合正在排查这个问题的开发者参考。

28 0 0
2026-07-04
Nginx 代理 WebSocket 要配 header

Nginx 代理 WebSocket 要配 header是开发中经常遇到的问题。本文从实际场景出发分析原因并给出可操作的解决方案适合正在排查这个问题的开发者参考。

14 0 0
2026-07-04
Docker apt-get update 太慢换国内源

Docker apt-get update 太慢换国内源是开发中经常遇到的问题。本文从实际场景出发分析原因并给出可操作的解决方案适合正在排查这个问题的开发者参考。

26 0 0
2026-07-04
Nginx root 和 alias 路径拼接不同

Nginx root 和 alias 路径拼接不同是开发中经常遇到的问题。本文从实际场景出发分析原因并给出可操作的解决方案适合正在排查这个问题的开发者参考。

15 0 0
2026-07-04
Docker 容器日志时区不对差8小时

Docker 容器日志时区不对差8小时是开发中经常遇到的问题。本文从实际场景出发分析原因并给出可操作的解决方案适合正在排查这个问题的开发者参考。

33 0 0
2026-07-04
Nginx 502 Bad Gateway 后端到底挂了没有

Nginx 502 Bad Gateway 后端到底挂了没有是开发中经常遇到的问题。本文从实际场景出发分析原因并给出可操作的解决方案适合正在排查这个问题的开发者参考。

20 0 0
2026-07-04
Linux nohup 和 & 的区别后台运行程序

命令后面加 & 让它在后台运行但关掉终端后进程会收到 SIGHUP 信号而退出。nohup 让进程忽略 SIGHUP 信号即使退出终端也继续运行。实际使用中常组合 nohup command & 一起用。本文列出不同场景下的后台运行方案。

17 0 0
2026-07-04
Windows 上用 WSL 开发文件性能问题

WSL 在 /mnt/c 下操作 Windows 文件时性能很差因为需要通过 9p 协议转换。把项目放在 WSL 的 ext4 文件系统里(/home/user/projects)性能能提升数倍。本文对比两种路径下的 Git 操作和 npm install 速度。

28 0 0
2026-07-04
在终端里用 scp 传文件到远程服务器提示权限不足

scp 上传文件到服务器时权限不足的常见原因是目标目录的属主不是当前用户。上传到自己的用户目录 ~/ 再 sudo mv 到目标位置可以绕过。或者先确认远程目录的权限和属主。

15 0 0
2026-07-04
构建可重现

消除构建环境差异,确保相同源码在任何地方产生相同制品。

16 0 0
2026-07-04
代码质量 SonarQube

搭建 SonarQube 服务器,集成 CI 分析重复率、漏洞和坏味道。

31 0 0
2026-07-04
Telepresence 本地调试

将本地进程接入远程 K8s 集群网络,快速调试微服务。

9 0 0
2026-07-04
Skaffold 开发循环

监控代码变更,自动构建镜像并部署到 K8s 集群。

16 0 0
2026-07-04
Buildpacks 云原生构建

告别 Dockerfile,让平台根据源码自动检测依赖并构建 OCI 镜像。

19 0 0
2026-07-04
Kaniko 无特权构建

无需 Docker Daemon,在容器内安全构建并推送 OCI 镜像。

30 0 0
2026-07-04
OCI 容器镜像规范

了解开放容器倡议定义的镜像格式和运行时标准。

24 0 0
2026-07-04
镜像分发 Dragonfly

利用阿里开源 Dragonfly 解决大规模集群拉取镜像的带宽瓶颈。

33 0 0
2026-07-03
容器仓库 Harbor

部署私有 Docker Registry,集成漏洞扫描和 RBAC。

24 0 0
2026-07-03
Chef 基础设施

使用 Ruby DSL 编写食谱和烹饪书,自动化部署和配置。

5 0 0
2026-07-03
Puppet 运维自动化

编写 Puppet Manifest 描述期望状态,强制服务器合规。

48 0 0
2026-07-03
SaltStack 配置管理

使用 ZeroMQ 实现毫秒级批量服务器管理。

24 0 0
2026-07-03
自动化运维 Rundeck

将日常脚本转换为自助服务,控制权限和审批流程。

32 0 0
2026-07-03
工单系统 Zammad

通过邮件、聊天和电话自动生成工单,跟踪解决过程。

14 0 0
2026-07-03
资产管理 Snipe-IT

开源解决方案记录硬件分配、库存和软件许可证到期。

14 0 0
2026-07-03
堡垒机 JumpServer

部署 JumpServer 管理服务器登录权限,录像回放操作行为。

16 0 0
2026-07-03
Active Directory

管理域控制器、组织单元和组策略,实现企业统一身份。

17 0 0
2026-07-03
LDAP 目录服务

理解 DN 和属性,搭建 OpenLDAP 并集成到应用认证中。

15 0 0
2026-07-03
防火墙 iptables

编写 INPUT/OUTPUT 规则链,实现端口转发和访问控制。

16 0 0
2026-07-03
ES 集群调优

规划索引生命周期,合理分配分片和设置 JVM 防止 OOM。

16 0 0
2026-07-03
FFmpeg 音视频处理

使用 FFmpeg 命令完成格式转换、裁剪、拼接和字幕烧录。

18 0 0
2026-07-03
故障注入实验

系统性引入真实故障,观察系统行为是否满足预设稳态。

23 0 0
2026-07-02
混沌工程 Chaos Mesh

模拟 Pod 故障、网络延迟和 IO 压力,主动验证系统韧性。

18 0 0
2026-07-02
ChatOps 协作

在 Slack 中通过机器人执行部署、查询状态和接收告警。

14 0 0
2026-07-01
GitOps 工作流

实践 GitOps 原则,使用 Git 仓库驱动 Kubernetes 的声明式持续部署。

28 0 0
2026-07-01
DevOps 文化与实践

推动 DevOps 转型,实现跨职能团队、持续交付和基础设施即代码。

13 0 0
2026-07-01
SRE 站点可靠性工程

学习 Google SRE 方法论,通过消除辛劳和提高系统韧性提升服务。

9 0 0
2026-07-01
错误预算与 SLO

设定服务等级目标,通过错误预算平衡稳定性和功能迭代速度。

11 0 0
2026-07-01
链路追踪实现

在 HTTP/gRPC 中传递 trace context,配置采样率避免性能影响。

14 0 0
2026-07-01
指标监控体系

使用 RED 和 USE 方法指导选择指标,设计服务级监控。

24 0 0
2026-07-01
日志结构化处理

将应用日志输出为 JSON,通过采集管道进入 Elasticsearch 或 Loki。

24 0 0
2026-07-01
可观测性三大支柱

整合 Logging、Metrics、Tracing,构建全面了解系统内部状态的平台。

39 0 0
2026-07-01
Terraform 云部署

使用 Terraform Cloud 或 Backend 存储状态,模块化代码复用。

19 0 0
2026-07-01
PagerDuty 告警

集成监控工具到 PagerDuty,实现智能告警、分派和升级策略。

16 0 0
2026-07-01
New Relic 应用监控

深入代码级性能分析,定位慢事务和数据库瓶颈。

15 0 0
2026-07-01
基础设施监控 Datadog

使用 Datadog 同时监控服务器、数据库、应用和前端性能。

20 0 0
2026-07-01
Azure DevOps

使用 Azure DevOps 实现项目跟踪、Git 仓库和 CI/CD 流水线。

31 0 0
2026-06-30
数据库监控 PromSQL

采集 MySQL/PostgreSQL 的性能指标,设置慢查询和连接池告警。

25 0 0
2026-06-30