Debian LNMP(Linux, Nginx, MySQL, PHP)故障排查是一个系统性的过程,涉及多个步骤和工具。以下是一些关键步骤和常用命令,可以帮助你有效地进行故障排查:
1. 查看系统日志
- 使用
tail -f /var/log/syslog
命令查看最新的系统日志,包括系统启动、关机、服务启动、错误等信息。 - 对于更详细的信息,可以使用
dmesg
或journalctl
命令。
2. 检查进程状态
- 使用
ps aux
命令查看当前正在运行的进程,以及它们的CPU使用率、内存使用情况等信息。这有助于识别占用过多资源的进程。
3. 查看系统资源占用情况
top
命令可以实时显示系统资源的占用情况,包括CPU、内存、磁盘等。htop
是一个增强版的top
,提供更丰富的界面和更多的功能。
4. 测试网络连接
- 使用
ping
命令测试网络连接,确保系统可以访问外部网络。 traceroute
或mtr
命令可以帮助诊断网络路由问题。
5. 检查文件系统
- 使用
fsck
命令检查和修复文件系统,特别是在非正常关机后。 - 注意:在执行
fsck
时,请先关闭所有正在运行的服务,并确保数据已备份。
6. 重启服务
- 使用
systemctl restart servicename
命令重启有问题的服务。 - 使用
systemctl status servicename
命令检查服务状态。
7. 检查服务状态
- 使用
systemctl status nginx
、systemctl status mysql
、systemctl status php-fpm
等命令检查各个服务的状态。
8. 检查配置文件
- 检查各个服务的配置文件,如
/etc/nginx/nginx.conf
、/etc/mysql/my.cnf
、/etc/php/7.x/fpm/pool.d/www.conf
等,确保配置正确。
9. 更新和升级软件包
- 使用
sudo apt update
和sudo apt upgrade
命令更新软件包列表和安装最新的软件包。
10. 使用诊断工具
strace
:跟踪程序的系统调用和信号,帮助找出程序执行中的错误和异常情况。netstat
:查看网络连接和网络统计信息,帮助诊断网络问题。ifconfig/ip
:配置和显示网络接口的信息。
11. 检查日志文件
- 查看各个服务的特定日志文件,如
/var/log/nginx/error.log
、/var/log/mysql/error.log
、/var/log/php7.x-fpm.log
等。
在进行故障排查时,记得在进行任何系统更改或修复操作前,备份重要数据,以防万一。