首页主机资讯centos lnmp故障排查技巧有哪些

centos lnmp故障排查技巧有哪些

时间2025-10-22 11:34:03发布访客分类主机资讯浏览681
导读:CentOS LNMP故障排查技巧汇总 1. 确认故障现象 收集用户反馈(如网站无法访问、报错页面)及系统/应用日志(如Nginx、MySQL的错误日志),明确故障类型(如502错误、数据库连接失败),这是排查的基础方向。 2. 检查服务运...

CentOS LNMP故障排查技巧汇总

1. 确认故障现象

收集用户反馈(如网站无法访问、报错页面)及系统/应用日志(如Nginx、MySQL的错误日志),明确故障类型(如502错误、数据库连接失败),这是排查的基础方向。

2. 检查服务运行状态

使用systemctl status nginxsystemctl status mysql(或mariadb)、systemctl status php-fpm命令,确认各组件是否处于active (running)状态。若服务未启动,尝试systemctl restart并查看日志定位失败原因。

3. 查看错误日志

  • Nginx:主要查看/var/log/nginx/error.log(默认路径),重点关注连接PHP-FPM失败、静态文件权限等问题;
  • PHP-FPM:查看/var/log/php-fpm/error.log/var/log/php7-fpm.log(版本依赖),定位PHP代码语法错误、数据库连接失败等;
  • MySQL:查看/var/log/mysql/error.log/var/log/mariadb/error.log,排查数据库启动失败、查询超报错等。
    日志是故障排查的“黄金线索”,需优先分析最新错误信息。

4. 检查系统资源使用

使用top(实时进程)、df -h(磁盘空间)、free -m(内存使用)、iostat(磁盘IO)等命令,确认系统是否有资源瓶颈(如内存耗尽导致进程被杀、磁盘空间满导致服务无法写入)。

5. 验证配置文件语法

  • Nginx:运行nginx -t检查配置文件(/etc/nginx/nginx.conf及站点配置)语法,若有错误需修复后reloadsystemctl reload nginx);
  • PHP-FPM:检查/etc/php/版本号/fpm/php.ini(主配置)及pool.d/www.conf(进程池配置),确认listen地址、pm.max_children等参数是否合理;
  • MySQL:检查/etc/mysql/my.cnf(或mariadb.conf.d/50-server.cnf),确认端口、字符集、innodb_buffer_pool_size等参数是否正确。

6. 排查网络与端口问题

  • 使用ping命令检查服务器网络连通性(如ping 8.8.8.8);
  • 使用netstat -tulnp | grep ':80'(或ss -tulnp)检查Nginx是否监听80/443端口;
  • 使用telnet IP端口(如telnet localhost 3306)测试MySQL端口是否可达,排除防火墙/SELinux拦截。

7. 处理常见错误场景

  • 502 Bad Gateway:最常见原因是Nginx无法连接PHP-FPM。需检查:
    • PHP-FPM服务是否运行;
    • Nginx配置中的fastcgi_pass是否指向PHP-FPM的正确监听地址(如unix:/run/php-fpm/www.sock127.0.0.1:9000);
    • /var/run/php-fpm目录权限(需让Nginx用户(如nginx)可访问)。
  • 数据库连接失败:检查:
    • MySQL服务是否启动;
    • PHP代码中的数据库用户名、密码是否正确;
    • MySQL用户权限(GRANT语句是否授权);
    • 防火墙是否允许3306端口(firewall-cmd --add-port=3306/tcp --permanentreload)。
  • 静态文件无法访问:检查:
    • Nginx配置中的root路径是否指向正确的网站目录(如/var/www/html);
    • 文件权限(chown -R nginx:nginx /var/www/html,确保Nginx用户有读取权限);
    • SELinux是否阻止访问(getenforce若为Enforcing,可临时设为Permissive测试,或用chcon -R -t httpd_sys_content_t /var/www/html修改上下文)。

8. 调整安全策略

  • 防火墙:使用firewall-cmd --list-all查看规则,确保允许HTTP(80)、HTTPS(443)流量,添加后reload
  • SELinux:若处于Enforcing模式,可临时设为Permissivesetenforce 0)排查是否为SELinux导致的问题,确认后修改/etc/selinux/config永久生效(SELINUX=permissive)。

9. 使用调试工具

  • strace:跟踪进程系统调用(如strace -p PHP_FPM_PID),查看PHP-FPM卡死或报错的具体原因;
  • curl/wget:命令行测试网站访问(如curl -I http://localhost),快速验证服务是否响应;
  • ELK/Splunk:集中分析日志(如Nginx访问日志/var/log/nginx/access.log),识别高频错误或异常请求。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos lnmp故障排查技巧有哪些
本文地址: https://pptw.com/jishu/732135.html
lnmp在centos上运行稳定吗 lnmp在centos上如何进行日志分析

游客 回复需填写必要信息