linux服务排查步骤

状日端配权资依

  1. 查服务状态:systemctl status 服务名

  2. 查详细日志:journalctl -u 服务名 -f 可接grep

    或者 tail -f /var/log/服务名/access.log

    access.log 访问日志 正常业务排查最常用,看用户请求

    error.log错误日志(实时)网站打不开、接口报错优先查这个。

  3. 查端口占用:ss -tlnp

    ss -tlnp | grep :80
    输出里 pid=xxxx 就是进程号
    或者用这个查lsof -i :80
    kill 2439 温柔终止(优先用,让程序正常退出)
    kill -9 2439 强制杀(进程卡死、温柔杀不掉时)

    场景 A:Nginx/sshd 这类服务占用端口
    不要直接 kill!优先用服务管理命令停止
    systemctl stop nginx

    杀完进程后再次执行
    ss -tlnp | grep :80
    验证端口是否释放

    firewall-cmd --list-all

    只看端口

    firewall-cmd --list-ports

    查询单个端口是否放行

    firewall-cmd --query-port=80/tcp

    关闭端口(取消放行)
    firewall-cmd --permanent --remove-port=80/tcp
    firewall-cmd --reload

    临时放行(重启服务器失效,测试用)
    firewall-cmd --add-port=80/tcp

    永久放行TCP 80端口(public区域,网页用)

    firewall-cmd --permanent --add-port=80/tcp

    重载!永久规则必须reload才生效,不中断现有连接

    firewall-cmd --reload

  4. 校验配置文件语法

    nginx -t
    -t:test,只测试配置语法,不加载、不重启

  5. 检查文件、运行用户权限

    ls -l /etc/nginx/nginx.conf

  6. 检查磁盘、内存资源是否耗尽

    内存内存资源检查
    free -h
    看内存占用 TOP 进程按大写m
    top
    ps -aux --sort=-%mem | head -10
    查看 OOM 日志
    dmesg | grep -i oom # 或者journalctl
    journalctl -k | grep -i oom 只取出内核日志
    先扩容 物理机:临时增加内存;云服务器升级配置
    临时加大内存 limit
    杀掉没必要的进程

    磁盘空间
    df -h
    inode 检查
    df -i
    定位哪个目录大

    查看根目录下各目录大小

    du -sh /*

    递归找大于1G的大文件

    find / -type f -size +1G 2>/dev/null

  7. 检查依赖服务是否正常启动

    systemctl status nginx

相关推荐
qq_401700412 小时前
Linux设备树详解
linux·运维·服务器
云梦谭3 小时前
让 Linux 主动连接 Windows:配置 Windows 11 SSH 服务端
linux·windows·ssh
刚入门的大一新生3 小时前
Linux-信号
linux·运维·服务器
GeW7 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux
mounter6258 小时前
深入理解 gccrs:GCC 如何实现 Rust 编译器,以及编译 Linux 内核面临的挑战
linux·驱动开发·rust
垚垚学技术_聚焦云原生8 小时前
Ansible Playbook 进阶:when 条件、loop 循环、handlers 触发器落地
linux·ansible·自动化运维·devops
无足鸟ICT9 小时前
【RHCA+】type命令(判断命令类型)
linux·ssh·bash
咸鱼梦想家π9 小时前
Linux开发工具(下)
linux·运维·服务器
LHICOD9 小时前
Linux-1
linux·ip·vmware·虚拟机·cmd·ping
丰锋ff10 小时前
用户管理命令
linux·运维·服务器