在CentOS上部署LNMP(Linux, Nginx, MySQL, PHP)环境时,故障排查是一个重要的技能。以下是一个系统化的故障排查步骤指南:
top、htop、vmstat、iostat 等命令检查CPU、内存、磁盘IO和网络等资源的使用情况,确定是否有资源瓶颈。/var/log/nginx/error.log,查看是否有错误信息。/var/log/php-fpm/error.log,检查PHP代码中的错误。/var/log/mysql/error.log,检查数据库相关的错误。ps、top、netstat 等命令检查Nginx、PHP-FPM和MySQL等服务进程是否正常运行,查找是否存在占用资源过高或异常退出等问题。ping、traceroute、telnet 等命令检查服务器之间的网络连通性,确认是否存在网络故障。error_reporting 为 E_ALL,并在文件顶部添加 ini_set('display_errors', 1); 以显示所有错误,帮助定位PHP代码中的问题。nginx.conf 或PHP-FPM的 pool.d/www.conf),然后重启服务以使更改生效。firewall-cmd --list-all 来检查防火墙规则。getenforce 来检查SELinux的状态。如果SELinux处于 enforcing 模式,可以尝试将其设置为 permissive 模式以进行测试:setenforce 0。更永久的方法是修改 /etc/selinux/config 文件,将 SELINUXenforcing 改为 SELINUXpermissive,然后重启系统。top 或 htop 命令查看系统进程状态。df -h 命令检查磁盘空间使用情况。free -m 命令检查内存使用情况。/var/run/php-fpm 目录权限。chown -R nginx:nginx /var/www/html,检查Nginx配置中的root路径,检查SELinux状态(如有)。strace、gdb 等,以便进一步分析和解决问题。yum update 更新系统。通过以上步骤,可以系统地排查和解决CentOS LNMP环境中的大多数问题。如果问题依然存在,建议提供具体的错误日志信息,以便进一步分析问题所在。