1.进行nginx配置文件的编辑:

vim /etc/nginx/conf.d/wordpress.conf
server {
        listen 80;
        server_name www.myblog.com;
        root /code/worpress;

        location / {
                index index.php index.html;
        }
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
}
#进行nginx服务重启!!
[root@node01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@node01 ~]# systemctl restart nginx

2.在官网获取源码:

cd /code
# 下载 WordPress 5.8.3 中文版(若因网络问题较慢,可先下载到本地再上传)
wget https://cn.wordpress.org/wordpress-5.8.3-zh_CN.tar.gz

# 清理当前网站目录或备份测试文件后解压
tar -zxvf wordpress-5.8.3-zh_CN.tar.gz
#解压完成后
[root@node01 code]# ls
fishjoy  fishjoy.zip  flygame.zip  qmfjdz  wordpress  wordpress-5.8.3-zh_CN.tar.gz
#修改windows中的hosts配置即可

3.进入数据库建表:

mysql -u root -p'yuhang.com'
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wordpress          |
+--------------------+
4 rows in set (0.013 sec)

雷点:解决“两套进程、不同身份”引起的权限冲突

在默认情况下:

  • Nginx 的工作进程用户是:nginx

  • PHP-FPM 的工作进程用户是:apache(红帽系为了兼容历史 httpd 默认用的名字)

这两个服务在处理一个网站请求时是协同工作的:

  • 静态资源(图片、CSS、JS、HTML):Nginx 进程(用户 nginx)直接从磁盘读取并返回给用户。

  • 动态解析与文件写入(上传头像、安装插件、写入日志缓存):PHP-FPM 进程(用户 apache)负责生成和写入文件。

如果保持默认:

  • 设成 chown -R apache:apache,Nginx 必须依赖其他用户的“读权限(o+r)”去读静态资源。

  • 一旦某些文件权限严格(如 600 或 700),或者目录权限没给足,就会导致一方能读、另一方报 403 Forbidden,或者 PHP 能写、Nginx 读不到。

把两者的运行用户统一成同一个账号(比如 www),以后网站目录直接一条命令 chown -R www:www /code/wordpress,两个服务就拥有了完全一致的访问和读写权限,从根本上杜绝了权限引起的各种怪异报错。

[root@node01 wordpress]# groupadd -g 666 www
[root@node01 wordpress]# useradd -u 666 -g 666 -M -s /sbin/nologin www
[root@node01 wordpress]# id www
uid=666(www) gid=666(www) groups=666(www)
[root@node01 wordpress]# vim /etc/nginx/nginx.conf
[root@node01 wordpress]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@node01 wordpress]# systemctl restart nginx
[root@node01 wordpress]# vim /etc/php-fpm.d/www.conf
[root@node01 wordpress]# systemctl restart php-fpm.service
[root@node01 wordpress]# chown -R www:www /code/wordpress

博客已成功搭建!