一、版本兼容性检查与匹配
LNMP各组件(Linux发行版、Nginx、MySQL、PHP)的版本适配是基础。需提前查阅官方文档确认兼容性:例如,Debian 10及以上版本建议搭配MySQL 5.7+/MariaDB 10.2+、PHP 7.4+;Nginx 1.x版本通常支持PHP 5.x/7.x,而Nginx 2.x可能仅支持PHP 7.x及以上。避免在旧版系统(如Debian 6/7)上安装新版组件(如MySQL 8.0),若需安装可通过更换软件源(如使用vault源)或二进制包解决。
二、系统源与依赖包管理
/etc/apt/sources.list文件,替换为对应版本的源地址(如Debian 12使用deb http://mirrors.163.com/debian/ bookworm main contrib non-free),运行sudo apt update && sudo apt upgrade -y更新系统。build-essential、libpcre3-dev、zlib1g-dev、openssl等),确保组件能正确编译和运行。三、配置文件正确性验证
/etc/nginx/sites-available/default),在location ~ \.php$块中添加/修改以下内容:include snippets/fastcgi-php.conf; # 引入FastCGI配置
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 确保路径与PHP-FPM配置一致
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 补充脚本路径
运行sudo nginx -t测试语法,重启Nginx生效。listen参数与Nginx的fastcgi_pass一致(如listen = /run/php/php8.2-fpm.sock),并检查www.conf中的用户/组权限(通常为www-data)。四、权限与用户组设置
/var/run/php/),运行sudo mkdir -p /var/run/php/创建目录,设置权限sudo chown -R www-data:www-data /var/run/php/。chmod 644 *),目录权限设为755(chmod 755 *),避免权限过高或过低导致无法访问。五、日志分析与问题定位
/var/log/nginx/error.log,PHP-FPM错误日志位于/var/log/php8.2-fpm.log(路径随版本变化)。通过tail -n 50 /var/log/php8.2-fpm.log查看最新日志,定位启动失败、连接超时等问题。六、逐步迁移与测试