// PC530 技术论坛 v1.0
● online 登录 / 注册
返回列表
运维与云原生 #运维

【运维】Linux 服务器实战(7):软件报错与系统诊断手册


Linux 服务器实战 · 第 7 篇
软件报错、服务起不来——按 日志链路 + 6 步检查单 排查。


1. 日志从哪里看

应用自己的 log 文件
    ↓
journalctl -u 服务名
    ↓
/var/log/syslog
    ↓
dmesg(内核/OOM/磁盘)
```bash
sudo tail -f /var/log/nginx/error.log  
sudo journalctl -u myapp -f  
sudo tail -f /var/log/syslog  
dmesg -T | tail -30
文件查看技巧:

```bash
tail -n 100 -f app.log
less +F app.log          # Ctrl+C 暂停,F 继续跟踪
grep -C 3 "ERROR" app.log
grep -E "error|fail|exception" -i app.log | tail -20
---

## 2. 服务起不来:6 步检查单

| 步 | 命令 | 查什么 |
|----|------|--------|
| 1 | `systemctl status SVC` | 退出码、最后几行日志 |
| 2 | `journalctl -u SVC -n 80 --no-pager` | 完整错误栈 |
| 3 | `ss -tlnp \| grep PORT` | 端口是否被占 |
| 4 | 手动前台启动 | 配置/权限/依赖报错更直观 |
| 5 | `df -h` / `free -h` | 磁盘满 / 内存尽 |
| 6 | `namei -l /path/to/binary` | 路径上每一级权限 |

前台试跑示例:

```bash
cd /var/www/myapp  
sudo -u deploy ./venv/bin/gunicorn -b 127.0.0.1:8000 wsgi:application
---

## 3. 动态库 / 依赖缺失

```bash
ldd ./your_binary | grep "not found"
objdump -p ./your_binary | grep NEEDED
缺包时:

```bash
sudo apt install -y libxxx  
sudo ldconfig
---

## 4. 网络类错误

```bash
curl -v http://127.0.0.1:8000/
curl -vI https://api.example.com
dig +trace example.com
sudo ufw status
---

## 5. 磁盘满 / inode 满

```bash
df -h  
df -i
sudo du -sh /var/* | sort -rh | head
sudo lsof +L1 | head    # 已删除但仍被进程占用的文件
---

## 6. 文件句柄过多

```bash
ulimit -n
cat /proc/PID/limits
ls /proc/PID/fd | wc -l
系统级调高 `/etc/security/limits.conf`(需评估)。

---

## 7. 跟踪进程在干什么

```bash
sudo strace -p PID -f -e trace=file,network 2>&1 | head -50  
sudo lsof -p PID -r 5
生产环境 strace 有开销,短时间采样即可。

---

## 8. 批量改配置(先预览)

```bash
find /etc/nginx -name '*.conf' -print
find /etc/nginx -name '*.conf' -exec grep -l 'old_value' {} +
# 确认后:
find /etc/nginx -name '*.conf' -exec sed -i 's/old_value/new_value/g' {} +
sudo nginx -t && sudo systemctl reload nginx
---

## 本篇速查

```bash
sudo systemctl status SVC --no-pager  
sudo journalctl -u SVC -n 100 --no-pager  
df -h && df -i && free -h  
ldd ./binary | grep not

```


系列导航

主题
1–6 见前篇
7 故障诊断(本文)
8 部署、备份、Cron(收官)