温馨提示×

debian lnmp报错怎么办

小樊
41
2026-09-28 22:53:21
栏目: 智能运维

“Debian + LNMP 报错”范围比较大,我给你一套通用排查思路 + 常见错误速查表,你可以对照看;如果方便,把具体报错信息贴出来,我可以精确帮你定位。


一、先确认 LNMP 是哪来的

不同方式排错不一样:

  1. 军哥 LNMP 一键包(lnmp.org)
  2. 自己 apt 装的 Nginx + MySQL + PHP
  3. Docker / 面板(宝塔、aaPanel 等)

下面以「Debian + 原生或一键包 LNMP」为主


二、通用排查步骤(必做)

1️⃣ 看服务状态

systemctl status nginx
systemctl status mysql
systemctl status php-fpm

❌ 如果 failed → 看日志


2️⃣ 看错误日志(最关键)

# Nginx
tail -n 50 /var/log/nginx/error.log

# PHP
tail -n 50 /var/log/php*-fpm.log

# MySQL
tail -n 50 /var/log/mysql/error.log

3️⃣ 端口是否被占用

ss -lntp | grep -E '80|443|3306|9000'

常见冲突:

  • 80 被 apache 占用
  • 3306 被 mariadb 占用

三、Debian 下 LNMP 常见报错 & 解决

❌ 1. Nginx 启动失败

报错示例

Job for nginx.service failed

✅ 解决:

nginx -t

通常是:

  • 配置文件语法错
  • server_name / root 路径不对

❌ 2. PHP 页面直接下载 / 空白

说明 Nginx 没把请求转给 PHP

✅ 检查:

location ~ \.php$ {
    fastcgi_pass   unix:/run/php/php-fpm.sock;
    include        fastcgi_params;
}

PHP 版本路径要对(如 php8.2-fpm.sock)


❌ 3. 502 Bad Gateway

最常见原因:

  • php-fpm 没启动
  • sock 文件路径错
systemctl restart php8.2-fpm

❌ 4. MySQL 起不来

报错

Can't connect to local MySQL server

✅ 检查:

systemctl status mariadb
journalctl -xe

常见:

  • 磁盘满了
  • /var/lib/mysql 权限错

❌ 5. Debian 12 + PHP 不兼容

Debian 12 默认:

  • PHP 8.2
  • MariaDB 10.11

旧程序(WordPress 老版本、Discuz)可能报错

✅ 方案:

  • 升级程序
  • 或装旧 PHP(不推荐)

四、快速自检清单 ✅

  • [ ] nginx -t 通过
  • [ ] php-fpm 运行中
  • [ ] 网站目录权限是 www-data
  • [ ] 防火墙没拦 80/443
  • [ ] SELinux 已关(Debian 一般没)

五、你可以这样给我信息(最快解决)

直接贴:

  1. Debian 版本(cat /etc/os-release)
  2. LNMP 安装方式
  3. 完整报错信息(命令 + 输出)

我可以一步一步帮你修 ✅

0 踩