LNMP环境配置需确保Nginx解析PHP、PHP连接MySQL、端口权限无冲突。依次安装启用Nginx、MySQL 8.4(含安全初始化)、PHP 7.4(配置PHP-FPM监听127.0.0.1:9000并设用户为nginx),修改Nginx配置支持PHP解析,最后通过phpinfo和数据库连接测试验证连通性。

在CentOS系统上从零配置LNMP环境,必须确保Nginx能正确解析PHP、PHP能稳定连接MySQL、三者端口与权限不冲突,否则WordPress等应用无法启动。
安装并启用Nginx
执行 yum install -y nginx 安装官方源提供的稳定版Nginx。
运行 systemctl enable --now nginx 启动服务并设置开机自启。
验证是否生效:执行 curl -s http://127.0.0.1 | head -1,返回 或包含 Welcome to nginx! 的HTML片段即成功。
安装MySQL 8.4并完成安全初始化
先添加MySQL官方仓库:sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm。
执行 yum install -y mysql-server 安装服务端程序。
启动服务:systemctl enable --now mysqld。
【必须执行】 查看临时密码:sudo grep 'temporary password' /var/log/mysqld.log,复制输出中冒号后的一串字符(含大小写字母、数字、特殊符号,共12位)。
立即运行 mysql_secure_installation,按提示重置root密码(需满足长度≥12、含大小写+数字+特殊字符)、移除匿名用户、禁止root远程登录——这三步任意跳过将导致后续WordPress数据库连接失败。
安装PHP 7.4并配置PHP-FPM监听方式
启用Remi源并安装核心组件:yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm && yum-config-manager --enable remi-php74 && yum install -y php php-fpm php-mysqlnd php-gd php-xml php-mbstring php-json php-opcache。
编辑PHP-FPM主配置:vim /etc/php-fpm.d/www.conf,找到 listen = 行,将其改为:listen = 127.0.0.1:9000。
同时确认 user = nginx 和 group = nginx 已设置(若为apache需手动改为nginx,否则PHP脚本无权读取Nginx网站目录)。
启动服务:systemctl enable --now php-fpm。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
配置Nginx支持PHP解析
编辑默认站点配置:vim /etc/nginx/conf.d/default.conf。
在 server { } 块内,定位到 location / { } 区域,在其下方插入以下完整PHP处理块:
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
注意:此处 root 必须与 server 块中的 root 一致,否则PHP文件路径解析错误,返回 404;【不可省略】 删除原配置中所有被注释掉的 location ~ \.php$ 残留段,避免规则冲突。
重载配置:nginx -t && systemctl reload nginx。
验证LNMP连通性
第一步:创建测试文件:echo '' > /usr/share/nginx/html/info.php。
第二步:确认PHP-FPM进程已运行:ps aux | grep php-fpm | grep -v grep,应看到 master 进程及若干 worker。
第三步:用curl访问:curl -s http://127.0.0.1/info.php | grep -q 'PHP Version' && echo "PHP解析正常" || echo "PHP未生效"。
第四步:测试MySQL连接能力,新建 /usr/share/nginx/html/dbtest.php,内容为:
$link = mysqli_connect('127.0.0.1', 'root', '【此处填入你刚设的root密码】');
if (!$link) die('MySQL连接失败: ' . mysqli_connect_error());
echo 'MySQL连接成功';
mysqli_close($link);
?>
执行 curl http://127.0.0.1/dbtest.php,输出“MySQL连接成功”即全部就绪。










