服务状态检查
systemctl status apache2 # 检查Apache状态
systemctl status mysql # 检查MySQL状态
systemctl status php-fpm # 检查PHP-FPM状态(如使用)
端口监听检查
netstat -tulnp | grep -E '80|3306' # 检查HTTP和MySQL端口
ss -tulnp | grep -E '80|3306' # 替代netstat的现代方法
错误日志检查
tail -f /var/log/apache2/error.log # Apache错误日志
tail -f /var/log/mysql/error.log # MySQL错误日志
journalctl -xe # 系统日志
资源检查
top # 实时系统资源监控
free -h # 内存使用情况
df -h # 磁盘空间检查
防火墙/SELinux
iptables -L -n # 检查防火墙规则
getenforce # 检查SELinux状态
配置测试
apachectl configtest # 检查Apache配置语法
模块检查
apachectl -M # 列出加载的模块
连接测试
mysql -u username -p # 测试数据库连接
性能检查
SHOW PROCESSLIST; # 查看当前连接和查询
SHOW STATUS; # 查看服务器状态
PHP信息检查
php -v # 检查PHP版本
php -m # 检查加载的PHP模块
PHP测试脚本
<?php phpinfo(); ?> # 创建info.php测试脚本
Apache无法启动
sudo lsof -i :80
apachectl configtest
tail -n 50 /var/log/apache2/error.log
MySQL连接问题
SELECT Host,User FROM mysql.user;
bind-address
in /etc/mysql/my.cnf
max_connections
参数PHP脚本不执行
.php
扩展名chmod 644 *.php
性能问题
mod_status
监控my.cnf
)性能监控
htop # 增强型top
mytop # MySQL监控
apachetop # Apache实时监控
调试工具
strace -p <PID> # 跟踪系统调用
tcpdump port 80 # 网络包分析
基准测试
ab -n 1000 -c 100 http://yoursite.com/ # Apache基准测试
sysbench # 数据库基准测试
定期维护
监控设置
安全加固
通过系统化的分层排查方法,可以快速定位LAMP服务器中的各类问题,提高故障处理效率。