温馨提示×

centos lnmp为何启动失败

小樊
44
2026-10-06 04:49:31
栏目: 智能运维

在 CentOS 上 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)启动失败,原因通常是多方面的。下面按最常见原因 → 排查方法 → 解决思路给你一个系统性的排查清单。


一、先确认是哪一层启动失败

LNMP 中任意一层失败,都会表现为“启动失败”。

systemctl status nginx
systemctl status mysqld   # 或 mariadb
systemctl status php-fpm

看哪一个 failed,再针对性处理。


二、Nginx 启动失败(最常见)

1️⃣ 端口被占用(80 / 443)

ss -lntp | grep ':80'

如果有 httpd 或其他进程:

systemctl stop httpd
systemctl disable httpd

2️⃣ 配置文件语法错误

nginx -t

常见错误:

  • server_name 写错
  • fastcgi_pass 路径不对
  • 缺少 ; 或 }

修复后:

systemctl restart nginx

3️⃣ SELinux 限制(CentOS 特有)

查看:

getenforce

如果是 Enforcing:

setenforce 0   # 临时

永久关闭(不推荐生产):

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

或允许 Nginx:

setsebool -P httpd_can_network_connect 1

三、MySQL / MariaDB 启动失败

1️⃣ 数据目录权限问题

ls -ld /var/lib/mysql

正确权限:

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

2️⃣ 端口被占用(3306)

ss -lntp | grep 3306

3️⃣ 日志查看(最重要)

cat /var/log/mysqld.log
# 或
journalctl -xe

常见错误:

  • 磁盘满了
  • PID 文件冲突
  • 配置文件错误

四、PHP-FPM 启动失败

1️⃣ PHP 版本冲突

php -v
rpm -qa | grep php

CentOS 常见:

  • php 5.x 和 php 7.x 混装

2️⃣ listen 配置错误

vim /etc/php-fpm.d/www.conf

确认:

listen = /run/php-fpm/www.sock

Nginx 中必须一致。

3️⃣ 查看错误

systemctl status php-fpm
journalctl -xe

五、防火墙问题(不是启动失败,但像失败)

firewall-cmd --list-all

允许:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

六、快速自检脚本(推荐)

systemctl restart nginx mysqld php-fpm
systemctl status nginx mysqld php-fpm

七、如果你愿意,我可以更精确帮你

你可以直接贴出:

  1. CentOS 版本(cat /etc/redhat-release)
  2. 使用的 LNMP 方式(源码 / yum / 一键脚本)
  3. 具体的报错信息(最重要)

我可以直接帮你定位到“哪一行错了”。

0 踩