插件窝 干货文章 LAMP如何进行故障排查

LAMP如何进行故障排查

检查 排查 bash 错误 385    来源:    2025-05-04

LAMP环境故障排查指南

LAMP (Linux + Apache + MySQL/MariaDB + PHP) 是常见的Web服务堆栈,以下是系统化的故障排查方法:

1. 基础检查

系统层面

  • 服务状态检查

    systemctl status httpd      # Apache
    systemctl status mariadb    # MariaDB/MySQL
    systemctl status php-fpm    # PHP-FPM (如果使用)
    
  • 日志检查

    # Apache错误日志
    tail -f /var/log/httpd/error_log
    
    # MySQL错误日志
    tail -f /var/log/mysql/error.log
    
    # PHP错误日志
    tail -f /var/log/php_errors.log
    

2. Apache故障排查

常见问题

  • 端口冲突

    netstat -tulnp | grep :80
    
  • 配置错误

    apachectl configtest
    
  • 权限问题

    chown -R apache:apache /var/www/html
    chmod -R 755 /var/www/html
    

3. MySQL/MariaDB故障排查

常见问题

  • 连接问题

    mysql -u username -p
    
  • 性能问题

    mysqladmin -u root -p status
    
  • 修复损坏表

    mysqlcheck -u root -p --auto-repair --check --all-databases
    

4. PHP故障排查

常见问题

  • 语法错误

    php -l /path/to/file.php
    
  • 显示错误: 在php.ini中设置:

    display_errors = On
    error_reporting = E_ALL
    
  • 扩展问题

    php -m
    

5. 综合问题排查

页面无法访问

  1. 检查防火墙设置:

    firewall-cmd --list-all
    
  2. 检查SELinux状态:

    sestatus
    getenforce
    

性能问题

  • 检查系统资源:

    top
    free -m
    
  • Apache性能调优: 修改/etc/httpd/conf/httpd.conf中的MaxKeepAliveRequestsKeepAliveTimeout

6. 高级工具

  • strace跟踪系统调用:

    strace -p $(pgrep httpd)
    
  • tcpdump网络分析:

    tcpdump -i any port 80 -w /tmp/http.pcap
    

7. 常见错误解决方案

"403 Forbidden"

  • 检查目录权限
  • 检查Apache配置中的Require指令
  • 检查SELinux上下文

"500 Internal Server Error"

  • 检查PHP错误日志
  • 检查.htaccess文件
  • 检查文件权限

"Cannot connect to MySQL"

  • 检查MySQL服务状态
  • 检查用户权限: sql GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;

通过以上系统化的排查步骤,可以解决大多数LAMP环境中的常见问题。