在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环境中的大多数问题。如果问题依然存在,建议提供具体的错误日志信息,以便进一步分析问题所在。