插件窝 干货文章 LNMP启动失败怎么办

LNMP启动失败怎么办

检查 错误 MySQL 启动 237    来源:    2025-05-04

LNMP启动失败排查指南

当LNMP环境启动失败时,可以按照以下步骤进行排查和解决:

1. 检查服务状态

首先确认各个组件的运行状态:

# 检查Nginx状态
systemctl status nginx
# 或
service nginx status

# 检查MySQL状态
systemctl status mysql
# 或
service mysql status

# 检查PHP-FPM状态
systemctl status php-fpm
# 或
service php-fpm status

2. 查看错误日志

查看各组件的错误日志获取详细信息:

# Nginx错误日志
tail -50 /var/log/nginx/error.log

# MySQL错误日志
tail -50 /var/log/mysql/error.log

# PHP-FPM错误日志
tail -50 /var/log/php-fpm.log

3. 常见问题及解决方案

Nginx启动失败

  • 端口冲突:检查80/443端口是否被占用

    netstat -tulnp | grep ':80\|:443'
    

    如果被占用,可以修改Nginx配置或停止占用端口的服务

  • 配置文件错误

    nginx -t  # 测试配置文件语法
    

    根据输出修正配置文件错误

MySQL启动失败

  • 权限问题

    chown -R mysql:mysql /var/lib/mysql
    
  • 磁盘空间不足

    df -h  # 检查磁盘空间
    
  • 损坏的表

    mysqlcheck --all-databases --repair
    

PHP-FPM启动失败

  • 配置文件错误: 检查/etc/php-fpm.conf/etc/php-fpm.d/www.conf中的配置

  • 端口/套接字冲突: 检查PHP-FPM监听的端口或套接字是否被占用

4. 其他通用排查方法

  • 检查依赖是否完整:

    yum check  # CentOS/RHEL
    apt-get check  # Debian/Ubuntu
    
  • 检查SELinux状态(如果是CentOS/RHEL):

    sestatus
    

    如果启用,可以临时禁用或设置正确的上下文

  • 检查防火墙设置:

    iptables -L  # 传统防火墙
    firewall-cmd --list-all  # firewalld
    

5. 重新启动服务

修正问题后,尝试重新启动服务:

# 单独启动
systemctl start nginx
systemctl start mysql
systemctl start php-fpm

# 或使用LNMP的一键命令(如果有)
lnmp restart

如果问题仍然存在,请根据具体的错误日志信息进一步排查。