Linux 服务部署与排障:一份从症状到证据的清单
# Linux 服务部署与排障:一份从症状到证据的清单
服务“打不开”时,最容易犯的错误是同时修改代理、端口、环境变量和代码。更稳妥的做法是沿着请求链路逐段确认:进程是否活着、端口是否监听、服务是否响应、代理是否正确转发。
# 从外到内定位
浏览器或调用方
↓
域名 / 反向代理
↓
应用监听端口
↓
应用进程与日志
↓
数据库、文件或第三方依赖
每一步都先收集证据,再决定是否修改下一步。
# 常用检查
systemctl status your-service
journalctl -u your-service -n 100 --no-pager
ss -ltnp
df -h
free -h
这些命令分别帮助确认服务状态、近期日志、端口监听、磁盘和内存。它们不会自动修复问题,但能避免在“不知道服务是否启动”的情况下盲目重启。
# 常见现象与优先判断
| 现象 | 先检查什么 |
|---|---|
| 页面返回 502/504 | 上游应用是否启动、代理目标端口是否正确 |
| 连接被拒绝 | 进程是否监听、监听地址与防火墙规则 |
| 服务刚启动就退出 | 近期日志、环境变量、依赖文件与权限 |
| 请求变慢 | CPU、内存、磁盘空间、下游连接与慢日志 |
| 只有部分接口失败 | 路由、参数、数据库或外部服务依赖 |
# 发布时保留可回退点
发布前记录版本、配置变更和健康检查方式;发布后先验证健康接口和核心链路,再观察日志。不要在没有备份或回退路径时直接覆盖配置、数据或运行目录。
排障的目标不是最快输入命令,而是用最少的变更缩小问题范围,并留下下次可以复用的证据。
最后更新: 9/24/2026, 4:22:53 AM