记录 wordpress 搭建的整体流程,花费了两天时间,磕磕绊绊总算是完成搭建。隔了一个月,很多细节记不起来了,总体没有特别难解决的卡点,粗略的记录一下,以后想到什么再更新。
背景:
需要一个知识库模块,展示文章的列表和详情,并且,还需要一个后台管理页面,支持对这些文章进行增删改查。基于这个需求,以最小成本来看,用 wordpress 是最方便的,不需要单独开发CMS和文章页面。
服务环境:
服务器:阿里云服务ECS
系统:Linux
数据库:mysql8+
PHP: 7.4.33
PHP-FPM: 7.4.33
流程概览
- 创建wordpress 使用的 mysql数据库
- 安装php和 php-fpm,并完成对应配置
- 安装 wordpress;
- 添加 wordpress 的 nginx 配置;
搭建流程
- 进入要下载的文件夹,这里是准备将 wordpress 下载到 nginx html中,下载 wordpress 压缩包,版本按照当前 wordpress 最新版本来。
cd /usr/share/nginx/html
sudo wget https://cn.wordpress.org/wordpress-6.6.0-zh_CN.zip
2. 安装 unzip ,用于解压功能
sudo yum install unzip -y
3. 解压 wordpress 压缩文件
sudo unzip wordpress-6.6.0-zh_CN.zip
4. 运行以下命令,将WordPress安装目录下的wp-config-sample.php文件复制一份并命名为 wp-config.php ,这里的 wp-config.php 才是真正的配置文件,默认wordpress 中是没有这个文件的。
cd /usr/share/nginx/html/wordpress
sudo cp wp-config-sample.php wp-config.php
5. 修改 wp-config 文件中的配置 * 编辑 wp-config 文件:
<!---->
vim wp-config.php
* 根据当前数据库信息,配置 wordpress 要连接的数据库设置:
<!---->
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'user');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'PASSword123.');
/** MySQL主机,注意:默认访问数据库的3306端口,如果手动更改了端口,需要在这里添加对应的端口号,如果是 localhost ,需要改成 127.0.0.1:7777 */
define('DB_HOST', 'localhost');
至此,wordpress 的配置已经完成,需要注意,数据库和 php php-fpm 要启动起来
nginx 配置
- 根据需求,在wordpress的根页面需要匹配我们域名下的 blog 路径,因此对应的 nginx 配置如下:
location /blog {
root /usr/share/nginx/html/wordpress;
index index.php index.html index.htm;
try_files $uri $uri/ /blog/index.php?$args;
}
# PHP FastCGI configuration for /blog
location ~ ^/blog/(.*\.php)$ {
root /usr/share/nginx/html/wordpress;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
- 在 wordpress 文件夹下添加了一个 blog 文件夹,并将其余内容移动到其中,这是为了匹配
root中的路径,这里使用的绝对路径,root,实际上使用相对路径alias,不用添加 blog 也可以实现。 fastcgi_pass地址需要在 php-fpm 的配置中查询和设置,这里不多表述;
使用步骤
- 在完成nginx配置后,应该就能访问 wordpress 了。现在可以根据wordpress的5分钟安装流程,访问
wp-admin/install.php路径,根据实际情况进行配置安装。 - 流程截图如下:
这一步完成,便可以正常访问 wordpress 的管理页面和c端页面;
遇到的问题
-
- 没有创建表,安装流程不会引导创建mysql相关的内容,需要提前设置好。
-
提示无法连接数据库或者数据库账号、密码错误
- 检测账号密码是否正确
- 检测数据库域名是否正确,如果是
ip,需要添加端口号,如果是localhost,则不需要添加端口号。