在 Debian 上调试 LNMP(Linux + Nginx + MySQL/MariaDB + PHP),一般不是“调试 Debian 本身”,而是排查 LNMP 各组件的问题。下面给你一套系统化调试思路 + 常用命令,适合新手和实战排错。
cat /etc/debian_version
uname -a
确认 Debian 版本(10/11/12),不同版本软件包名可能不同。
systemctl status nginx
启动 / 重启 / 停止:
systemctl start nginx
systemctl restart nginx
systemctl stop nginx
nginx -t
常见错误:
;root 路径不存在fastcgi_pass 指向错误tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
常见错误示例:
403 Forbidden → 权限 / index 文件404 → root 路径错误502 Bad Gateway → PHP-FPM 没跑systemctl status php-fpm
# 或 Debian 常见名
systemctl status php8.2-fpm
启动:
systemctl start php8.2-fpm
ls /run/php/
Nginx 配置中应有类似:
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
⚠️ 版本必须一致
tail -f /var/log/php8.2-fpm.log
创建测试文件:
echo "<?php phpinfo();" > /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
如果直接下载文件 → Nginx 没交给 PHP 解析
systemctl status mariadb
# 或
systemctl status mysql
mysql -u root -p
tail -f /var/log/mysql/error.log
检查:
apt install php-mysql
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
ps aux | grep nginx
通常是 www-data
ss -lntp
确认:
ufw status
开放端口:
ufw allow 80
ufw allow 443
网站打不开
↓
Nginx 是否运行?
↓
nginx -t 是否报错?
↓
看 error.log
↓
是否 502?
↓
PHP-FPM 是否运行?
↓
PHP 文件是否解析?
| 错误 | 原因 |
|---|---|
| 403 | 权限 / index 文件 |
| 404 | root 路径错误 |
| 502 | PHP-FPM 没启动 |
| 504 | PHP 执行超时 |
| 下载 PHP | Nginx 未解析 PHP |
你可以直接贴出:
nginx -t 输出systemctl status 状态我可以逐行帮你定位问题,甚至直接给你一份可用的 LNMP 标准配置。