温馨提示×

为什么linux lnmp报错

小樊
47
2026-09-03 15:10:10
栏目: 智能运维

“Linux LNMP 报错”是一个很宽泛的说法,因为 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)任何一层出问题都会报错。下面我按常见报错场景给你分类说明,你可以对照看是哪一种,也可以把具体报错信息贴出来,我帮你精确定位。


一、Nginx 常见报错

1. Nginx 启动失败

systemctl start nginx
Job for nginx.service failed

常见原因:

  • 端口被占用(80 / 443)
netstat -lntp | grep :80
  • 配置文件语法错误
nginx -t
  • 网站目录不存在或权限不足

2. 403 Forbidden

原因:

  • index 文件不存在(index.php / index.html)
  • 目录权限问题
chown -R www:www /网站目录
chmod -R 755 /网站目录

3. 502 Bad Gateway(非常常见)

原因:

  • PHP-FPM 没启动
systemctl status php-fpm
  • Nginx 中 fastcgi_pass 路径错误
fastcgi_pass unix:/run/php-fpm/www.sock;

二、PHP / PHP-FPM 报错

1. PHP 页面空白

  • display_errors 没开
phpinfo();
  • 查看错误日志
tail -f /var/log/php-fpm/error.log

2. PHP 版本不兼容

  • 老程序用 PHP 5.6,系统装了 PHP 8
  • 报错:Call to undefined function

三、MySQL / MariaDB 报错

1. 无法连接数据库

ERROR 2002 (HY000): Can't connect to local MySQL server

原因:

  • MySQL 没启动
systemctl start mysqld
  • socket 路径不一致

2. root 登录失败

  • 密码错误
  • 权限问题
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

四、权限类问题(90% 新手都会踩)

  • Nginx/PHP 运行用户不一致
  • 网站目录属主错误
  • SELinux 开启(CentOS)
setenforce 0

五、快速自查清单 ✅

你可以先执行这些:

nginx -t
systemctl status nginx
systemctl status php-fpm
systemctl status mysqld
tail -n 50 /var/log/nginx/error.log

六、你可以这样问我(更准)

你可以直接发:

  • ❌ 报错截图 / 报错文字
  • ✅ 用的系统(CentOS / Ubuntu)
  • ✅ LNMP 怎么装的(源码 / 一键包 / apt)
  • ✅ 报错发生在哪一步(安装 / 访问网站 / 重启)

我可以一步一步帮你修

0