一、先准备 PHP-FPM 环境

原笔记先通过单独的 YUM 源安装 PHP 运行环境。

仓库配置示例:

[webtatic-php]
name = php Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64
enabled = 1
gpgcheck = 0

然后安装相关软件包:

[root@oldboy01 yum.repos.d]# yum install -y php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mcrypt php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-pecl-memcached php72w-pecl-redis php72w-pecl-mongodb

安装完成后,启动并设置开机自启:

[root@oldboy01 yum.repos.d]# systemctl enable php-fpm
[root@oldboy01 yum.repos.d]# systemctl start php-fpm

再检查端口和进程:

[root@oldboy01 yum.repos.d]# ss -lntup | grep php
[root@oldboy01 yum.repos.d]# ps -ef | grep php

二、为什么要统一 Nginx 和 PHP-FPM 的运行用户

原笔记特别强调,要把 PHP-FPM 的用户和用户组改成 nginx,避免后续站点文件访问和权限处理出现不一致。

修改位置在:

/etc/php-fpm.d/www.conf

关键配置如下:

user = nginx
group = nginx

确认方法:

[root@oldboy01 yum.repos.d]# egrep -n '^user|^group' /etc/php-fpm.d/www.conf
8:user = nginx
10:group = nginx

修改后需要重启:

[root@oldboy01 ~]# systemctl restart php-fpm

三、Nginx 动态站点配置该怎么写

原笔记随后准备了 Nginx 官方源并安装 Nginx,这部分与前面静态站点类似:

[root@oldboy01 ~]# yum install -y nginx

真正关键的是动态站点配置。
笔记中使用的域名是:

  • blog.oldboylinux.cn

站点目录是:

  • /app/code/blog

对应配置如下:

server {
  listen 80;
  server_name blog.oldboylinux.cn;
  root /app/code/blog;

  error_log /var/log/nginx/blog-error.log notice;
  access_log /var/log/nginx/blog-access.log main;

  location / {
    index index.php;
  }

  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

这里最关键的是 PHP 处理段:

  • 命中 .php 请求
  • 交给 127.0.0.1:9000 的 PHP-FPM
  • 通过 SCRIPT_FILENAME 告诉 PHP 实际脚本路径

配置完成后照例先检查语法,再重载:

[root@oldboy01 ~]# nginx -t
[root@oldboy01 ~]# systemctl reload nginx

四、WordPress 代码如何上线

原笔记使用的是 WordPress 代码包,步骤如下:

先创建站点目录:

[root@oldboy01 ~]# mkdir -p /app/code/blog

再下载或上传 WordPress 代码,并解压到站点目录:

[root@oldboy01 ~]# unzip WordPress-master.zip
[root@oldboy01 ~]# mv WordPress-master/* /app/code/blog/

最后把目录所有者改成 nginx

[root@oldboy01 ~]# chown -R nginx.nginx /app/code/blog/

这一步很关键,因为后续 Nginx 和 PHP-FPM 都是以 nginx 身份处理站点文件。

五、站点首次访问前还要做什么

原笔记补充了客户端侧 hosts 解析:

192.168.1.20 blog.oldboylinux.cn

这样浏览器访问 blog.oldboylinux.cn 时,才能先解析到目标服务器。

随后在浏览器中打开站点,会进入 WordPress 安装向导。
原笔记中的实际流程包括:

  • 点击 Let's go
  • 填写数据库信息
  • 点击“运行安装”
  • 填写站点信息
  • 点击“安装 WordPress”
  • 登录后台

这说明到这一步时,Nginx、PHP-FPM 和 MariaDB 三者已经能够协同工作。

六、上线后如何快速验证功能

原笔记最后还做了一个很好的功能验证:
进入后台发布一篇文章,再访问生成的文章链接。

这一步的意义在于它同时验证了:

  • 动态页面是否能正常执行
  • 数据库读写是否正常
  • 后台登录和内容发布流程是否可用

相比只访问首页,这种验证更接近真实业务场景。

七、小结

LNMP 部署 WordPress 的核心顺序可以概括为:

  • 安装并配置 PHP-FPM
  • 配置 Nginx 的 PHP 转发规则
  • 准备并授权站点目录
  • 配置域名解析
  • 通过浏览器完成 WordPress 初始化安装

当这几步都打通之后,一个标准的 PHP 动态站点就算真正跑起来了。