一、先准备 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 动态站点就算真正跑起来了。