Ubuntu LNMP常见问题有哪些
导读: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 = Off、log_errors = On、error_log = /var/log/php_errors.log,重启 PHP-FPM 并查看日志。
- 在
- 502 Bad Gateway:多为 PHP-FPM 未运行或 Nginx 与 PHP-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;正确。
- 确认 PHP-FPM 运行:
- 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 -h、free -m、top/htop,避免因磁盘满或内存不足导致异常。 - 系统日志:
dmesg、/var/log/syslog可帮助定位内核与系统级问题。
- 监控磁盘与内存:
- 版本差异:
- PHP-FPM 监听地址与 Nginx 的
fastcgi_pass必须一致(socket 或 127.0.0.1:9000 二选一),并注意 PHP 版本路径差异(如 /var/log/php7.4-fpm.log 或 /var/log/php-fpm/error.log)。
- PHP-FPM 监听地址与 Nginx 的
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu LNMP常见问题有哪些
本文地址: https://pptw.com/jishu/757255.html
