linux

Linux LNMP故障如何排查

小樊
44
2025-12-12 02:27:53
栏目: 智能运维

LNMP故障排查流程与要点

一、快速定位流程

二、关键日志与配置文件路径

组件 常用服务管理 关键日志 常用配置文件 快速校验/重启
Nginx systemctl status nginx /var/log/nginx/error.log(访问日志 /var/log/nginx/access.log /etc/nginx/nginx.conf/etc/nginx/sites-available/ nginx -t;systemctl reload nginx
PHP-FPM systemctl status php-fpm /var/log/php-fpm/error.log(路径随版本/发行版可能为 /var/log/php7.x-fpm.log /etc/php/{version}/fpm/php.ini/etc/php/{version}/fpm/pool.d/www.conf systemctl reload php-fpm
MySQL/MariaDB systemctl status mysql/mariadb /var/log/mysql/error.log;慢查询日志 /var/log/mysql/slow.log /etc/mysql/my.cnf/etc/my.cnf mysqladmin ping;systemctl restart mysql
系统 - /var/log/syslog/var/log/messages - tail -f /var/log/syslog

三、常见故障与处理对照表

症状 优先检查 快速修复要点
502 Bad Gateway Nginx error.log 报 “connect() to unix:/run/php/phpX.Y-fpm.sock failed” 或 “Connection refused”;PHP-FPM 未运行/进程耗尽 确认 php-fpm 运行;核对 fastcgi_passlisten 一致(socket 路径或 127.0.0.1:9000);适当调大 pm.max_children;重启 php-fpm 与 nginx
504 Gateway Timeout 后端处理慢或网络延迟;Nginx 超时配置偏小 优化慢接口/SQL;适度增大 fastcgi_read_timeout / fastcgi_send_timeout;检查数据库慢查询
403 Forbidden 目录无索引文件且未开启 autoindex;文件/目录权限错误;SELinux/AppArmor 限制 设置默认首页或开启 autoindex;校正权限(文件 644、目录 755);检查 SELinux/AppArmor 策略
500 Internal Server Error PHP 语法/致命错误、未捕获异常;PHP-FPM 启动失败 打开/查看 PHP 错误日志;修正代码或扩展问题;确保 php.inipool 配置正确
Nginx 无法启动/端口被占用 端口冲突、配置语法错误 ss/netstat 查占用并释放;执行 nginx -t 修正语法后启动
MySQL 无法连接 服务未启动、连接参数错误、权限/防火墙 mysqladmin pingerror.log 排查;核对 主机/端口/用户/密码;放行 3306 或调整授权
网站访问慢 CPU/内存/磁盘 I/O 瓶颈;慢查询;外部依赖 top/vmstat/iostat 定位瓶颈;开启并分析 slow.log;优化索引/SQL 与缓存策略

四、高效排查命令清单

五、排错最佳实践

0
看了该问题的人还看了