温馨提示×

为什么debian lnmp报错

小樊
44
2026-09-13 23:24:55
栏目: 智能运维

“Debian 上 LNMP 报错”这个现象太宽泛了,具体要看你是在哪一步、报了什么错。不过在 Debian 上搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)时,常见报错原因主要集中在下面几类,你可以对照看看:


一、Nginx 常见报错

1️⃣ Job for nginx.service failed

常见原因:

  • 80 端口被占用(如 Apache 还在运行)
  • 配置文件语法错误

排查:

sudo nginx -t
sudo systemctl status nginx
sudo ss -lntp | grep :80

2️⃣ 403 Forbidden

常见原因:

  • 网站目录权限不对
  • index.php 没配置

解决:

chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html

二、PHP 相关报错

3️⃣ Nginx 不解析 PHP(直接下载 / 空白)

原因:

  • 没装 php-fpm
  • Nginx 没配置 fastcgi

检查:

php -v
systemctl status php8.2-fpm

Nginx 配置示例:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

4️⃣ PHP Warning: date.timezone

解决:

date.timezone = Asia/Shanghai

三、MySQL / MariaDB 报错

5️⃣ 无法登录 MySQL

Debian 默认用 unix_socket

sudo mysql -u root

若要密码登录:

ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpass');

6️⃣ PHP 连不上数据库

检查:

  • mysqli / pdo_mysql 是否安装
  • 数据库是否启动
php -m | grep mysqli
systemctl status mariadb

四、Debian 特有坑

7️⃣ 软件版本问题

Debian 12 默认:

  • Nginx 1.22
  • PHP 8.2
  • MariaDB 10.11

老教程容易装错版本。


五、最快定位方法(推荐)

请你把具体报错信息贴出来,例如:

  • 终端报错
  • Nginx 错误日志(/var/log/nginx/error.log
  • 浏览器显示内容

你可以直接发:

系统版本:Debian 12
报错内容:XXXX
配置文件:XXXX

我可以精准帮你定位并给出修改方案

0