博客链接:https://www.aiiyx.cn
内容纲要
- 1. 版本相关
- 2. 主要内容
- 3. 安装并配置 PHP
- 4. 安装并配置 WordPress
- 5. 配置 Nginx
- 6. 配置 MySQL
- 7. 初始化 WordPress
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.rpm yum -y install yum-utils
- 为 PHP8.1 启用流模块:
yum-config-manager --enable remi-php81
- 查询 PHP 可用的版本列表【可选操作】:
yum repolist all |grep php
- 安装 PHP8.1 及扩展:
sudo yum install -y php sudo 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.php license.txt wp-blog-header.php wp-cron.php wp-login.php wp-trackback.php readme.html wp-comments-post.php wp-includes wp-mail.php xmlrpc.php wp-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]# ll total 1 drwxr-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 -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.27 mysql> 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 搭建的个人博客就运行起来啦~🎉