温馨提示×

ubuntu lnmp 为何启动失败

小樊
44
2026-10-24 14:51:58
栏目: 智能运维

“Ubuntu 上 LNMP 启动失败”是一个很常见但原因很多的问题。下面我按 最常见原因 → 排查方法 → 解决思路 给你系统梳理一下。


一、LNMP 是什么组合

LNMP = Linux + Nginx + MySQL/MariaDB + PHP

只要其中任意一个组件没起来,整体就会“启动失败”。


二、最常见启动失败原因(按概率排序)

1️⃣ Nginx 启动失败(最常见)

症状

systemctl status nginx

报错类似:

  • Job for nginx.service failed
  • Address already in use

常见原因

  • 80 端口被占用(Apache、其他 Nginx)
  • 配置文件错误
  • 网站配置 server_name 或 root 写错

排查

nginx -t

✅ 如报错,按提示改配置

端口冲突

netstat -tunlp | grep :80

2️⃣ MySQL / MariaDB 启动失败

症状

systemctl status mysql

常见原因

  • 数据目录权限错误
  • 磁盘空间不足
  • 配置文件错误
  • 异常关机导致表损坏

关键日志

cat /var/log/mysql/error.log

常见修复

chown -R mysql:mysql /var/lib/mysql

3️⃣ PHP-FPM 启动失败

症状 Nginx 能启动,但访问 PHP 页面 502

排查

systemctl status php-fpm
# 或
systemctl status php8.1-fpm

常见原因

  • PHP 版本不对
  • www.conf 中 listen 路径错误
  • Nginx 没连上 php-fpm

4️⃣ 使用了 LNMP 一键包但环境不兼容

如果你用的是 lnmp.org 一键安装包:

  • Ubuntu 版本太新(如 24.04)
  • 内核或依赖缺失

✅ 建议:

  • Ubuntu 20.04 / 22.04 最稳定
  • 不要混用 apt 和一键包

5️⃣ 防火墙 / SELinux(较少见)

ufw status

Ubuntu 默认不启用 SELinux


三、快速自检清单(照着做)

# 1. 看哪个没启动
systemctl status nginx mysql php-fpm

# 2. 看错误日志
journalctl -xe

# 3. 分别测试
nginx -t
mysql -V
php -v

四、你可以这样发我,我能精准帮你

请把以下信息发我:

  1. Ubuntu 版本(lsb_release -a)
  2. 是 apt 安装 还是 LNMP 一键包
  3. 启动失败时的完整报错
  4. systemctl status nginx(或 mysql)输出

我可以直接告诉你是哪一行配置或权限错了。

0 踩