首页主机资讯Ubuntu LNMP常见问题有哪些

Ubuntu LNMP常见问题有哪些

时间2025-11-26 23:45:04发布访客分类主机资讯浏览1189
导读:Ubuntu LNMP常见问题与排查要点 一 服务无法启动或端口冲突 典型表现:Nginx/MySQL/PHP-FPM 启动失败、端口被占用、配置语法错误。 快速排查: 查看服务状态:sudo systemctl status ngin...

Ubuntu LNMP常见问题与排查要点

一 服务无法启动或端口冲突

  • 典型表现:Nginx/MySQL/PHP-FPM 启动失败、端口被占用、配置语法错误。
  • 快速排查:
    • 查看服务状态:sudo systemctl status nginx mysql php7.4-fpm(按实际 PHP 版本调整)。
    • 检查配置语法:sudo nginx -t
    • 排查端口占用:sudo netstat -tulnp | grep ':80\|:9000'
    • 查看错误日志:sudo tail -f /var/log/nginx/error.log/var/log/php7.4-fpm.log/var/log/mysql/error.log
    • 修复后重启:sudo systemctl restart nginx php7.4-fpm

二 网站访问异常 白屏 502 504

  • 白屏或空白页:多为 PHP 错误未显示或日志未开启。
    • php.ini 中开启:display_errors = Offlog_errors = Onerror_log = /var/log/php_errors.log,重启 PHP-FPM 并查看日志。
  • 502 Bad Gateway:多为 PHP-FPM 未运行或 NginxPHP-FPM 通信方式不一致。
    • 确认 PHP-FPM 运行:sudo systemctl status php7.4-fpm
    • 统一通信方式:若 PHP-FPM 监听 unix:/run/php/php7.4-fpm.sock,则 Nginx 中应使用 fastcgi_pass unix:/run/php/php7.4-fpm.sock; ,并确保 SCRIPT_FILENAME $document_root$fastcgi_script_name; 正确。
  • 504 Gateway Timeout:多为 PHP-FPM 处理慢或进程不足。
    • 调整 PHP-FPM 进程管理(如 pm.max_requests)与连接队列(如 listen.backlog),并优化慢请求。

三 数据库连接与权限问题

  • 无法连接 MySQL
    • 检查服务:sudo systemctl status mysql,查看错误日志:/var/log/mysql/error.log
    • 核对应用配置:主机、端口(默认 3306)、用户名、密码是否正确。
    • 检查防火墙:sudo ufw status,必要时放行:sudo ufw allow 'Nginx Full'(或放行 3306 的来源网段)。
  • 认证插件导致客户端连接失败:
    • 现象:客户端报 caching_sha2_password 无法加载。
    • 处理:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

四 文件权限与路径配置错误

  • 权限与属主:网站目录应可被 Nginx/PHP-FPM 访问,常见为 www-data:www-data,权限 755/644
  • 根目录与索引:确认 root 指向实际站点目录,且 index index.php index.html; 配置正确。
  • SCRIPT_FILENAME:必须指向真实文件路径,建议用 $document_root$fastcgi_script_name; ,否则会出现空白页或 404。
  • 日志可写:确保 PHP 错误日志路径(如 /var/log/php_errors.log)可写。

五 环境与系统层面的坑

  • WSL 特有:
    • Windows 本机 MySQL 端口/套接字冲突,需关闭本机 MySQL 或改用不同端口。
    • 命令行中特殊字符(如 !)需转义,例如 mysql -u root -p 'password'
  • 资源与稳定性:
    • 监控磁盘与内存:df -hfree -mtop/htop,避免因磁盘满或内存不足导致异常。
    • 系统日志:dmesg/var/log/syslog 可帮助定位内核与系统级问题。
  • 版本差异:
    • PHP-FPM 监听地址与 Nginxfastcgi_pass 必须一致(socket127.0.0.1:9000 二选一),并注意 PHP 版本路径差异(如 /var/log/php7.4-fpm.log/var/log/php-fpm/error.log)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu LNMP常见问题有哪些
本文地址: https://pptw.com/jishu/757255.html
Linux中PHP脚本如何优化 Ubuntu LAMP怎样配置SSL证书

游客 回复需填写必要信息