博客链接:https://www.aiiyx.cn/
内容纲要
1. 版本相关
- WordPress 版本 5.9.3
- PHP 版本 8.1
- MySQL 版本 5.7
- Nginx 版本 1.18
2. 主要内容
由于我的 CentOS 服务器上,已经事先安装好了 MySQL 和 Nginx,所以本文主要记录如何安装和配置以下4部分内容:
- 安装并配置 PHP
- 安装并配置 WordPress
- 配置 Nginx
- 配置 MySQL
3. 安装并配置 PHP
安装 PHP:
- 将 yum 源更换为 aliyun 的 remi:
yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpmyum -y install yum-utils
- 为 PHP8.1 启用流模块:
yum-config-manager --enable remi-php81
- 查询 PHP 可用的版本列表【可选操作】:
yum repolist all |grep php
- 安装 PHP8.1 及扩展:
sudo yum install -y phpsudo yum install php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis php-common php-opcache php-memcached --skip-broken
- 运行下面的命令,查看已安装的 PHP 版本,只要能显示版本,就证明 PHP 已经安装成功!
php -v
配置 PHP:
经过上面5个步骤,PHP 就成功安装到了 CentOS 系统中。接下来需要参考如下的步骤,修改 PHP 的配置文件:
- 检查系统中是否存在名为
nginx
的用户和用户组:# 查询所有用户cat /etc/passwd# 查询所有用户组cat /etc/group
-
如果有,则直接忽略当前的第2步。如果没有,则运行如下的命令,在系统中添加名为
nginx
的用户和用户组:useradd nginx
注意:
useradd nginx
会创建名为nginx
的用户,同时这个用户默认就属于名为nginx
的用户组。因此不需要再单独创建名为nginx
的用户组了。 -
通过编辑器修改
/etc/php-fpm.d/www.conf
配置文件,把user
用户和group
用户组从默认的apache
修改为nginx
。修改后的截图如下:
4. 安装并配置 WordPress
-
从 WordPress 官网上下载源码,然后解压,查看其文件:
[root@localhost ~]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz[root@localhost ~]# tar xf latest-zh_CN.tar.gz[root@localhost ~]# ls wordpress/index.php wp-admin wp-content wp-load.php wp-signup.phplicense.txt wp-blog-header.php wp-cron.php wp-login.php wp-trackback.phpreadme.html wp-comments-post.php wp-includes wp-mail.php xmlrpc.phpwp-activate.php wp-config-sample.php wp-links-opml.php wp-settings.php
- 步骤1解压出来的文件夹名为
wordpress
,里面存着所有 WordPress 需要的源码文件。这个解压出来的wordpress
文件夹放在任何位置都可以,但必须配置好权限,让 PHP 所在的用户组有读写权限。
为了方便,我这里将其放在/usr/local/
目录下,并且更改其用户为nginx
:[root@localhost ~]# mv wordpress/ /usr/local/[root@localhost ~]# cd /usr/local[root@localhost html]# chown -R nginx:nginx wordpress/[root@localhost html]# lltotal 1drwxr-xr-x 5 nginx nginx 4096 May 13 13:32 wordpress
5. 配置 Nginx
再次声明,由于我的服务器上已经事先安装过 Nginx,所以这里不再赘述如何安装 Nginx,对安装 Nginx 感兴趣的小伙伴可以自行百度噢。这里只介绍如何针对 WordPress 配置 Nginx。
用编辑器打开 nginx/conf/nginx.conf
配置文件,对 http
节点下的 server
进行配置。详细的配置如下:
http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # gzip 压缩配置,可以提高传输效率 gzip on; gzip_min_length 1k; gzip_comp_level 6; gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css; gzip_disable "MSIE [1-6]\."; gzip_vary on; server { listen 443 ssl; server_name 填写自己购买的域名; ssl_certificate 填写 SSL 证书的 pem 文件的存储路径; ssl_certificate_key 填写 SSL 证书的 key 文件的存储路径; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # 重要: # root 用来指定 wordpress 文件夹的存放路径 # index 中,必须把 index.php 添加到第一位。因为 wordpress 项目的首页是 index.php location / { root /usr/local/wordpress; index index.php index.html index.htm; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # 重要: location ~ \.php$ { # root 用来指定 wordpress 文件夹的存放路径 root /usr/local/wordpress; # wordpress 默认运行在 9000 端口,请确保服务器的 9000 端口没有被其他程序占用! fastcgi_pass 127.0.0.1:9000; # 首页的文件名 fastcgi_index index.php; # $document_root 是一个变量,表示 root 选项的值。而 root 的值就是 wordpress 文件夹的存放路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }}
6. 配置 MySQL
同样的,由于我的服务器上已经事先安装过 MySQL,所以这里不再赘述如何安装 MySQL,对安装 MySQL 感兴趣的小伙伴可以自行百度噢。这里只介绍如何针对 WordPress 配置 MySQL。
我们需要做的事情:就是为 WordPress 创建一个单独的 MySQL 数据库,用来存储 WordPress 网站运行过程中的所有动态数据。
在这里,建议大家把数据的名字创建为 wordpress
即可。注意:只需要创建一个空白数据库即可,后面我们在配置 WordPress 时,它会自动在空白数据库中生成对应的表结构和表数据。
创建数据库的两种方式(二选一噢):
- 基于可视化的操作工具(例如:MySQL Workbench)
-
执行 SQL 命令
[root@localhost ~]# mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.27mysql> create database wordpress;Query OK, 1 row affected (0.00 sec)
7. 初始化 WordPress
-
重新启动php-fpm、nginx:
# 重置 php 服务systemctl restart php-fpm# 先 cd 到 xxx/nginx/sbin/ 目录下,再执行下面的命令,重启 nginx./nginx -s reload
-
在浏览器中输入您在 nginx 中配置好的 server_name 选项对应的域名,即出现 WordPress 的初始化界面:
-
点击“现在就开始!”按钮,填入数据库的名字、登录数据库的账号、密码:
-
点击“提交”按钮,即可进入下一步:
-
输入“站点标题”、“用户名”、“密码”、“电子邮件”,即可安装。安装完成,即可登录后台管理界面:
-
此时,一个基于 WordPress 搭建的个人博客就运行起来啦~🎉