基于 Rocky linux 9.5
wordpress 要求
PHP 7.4 or greater
MySQL 5.7 or MariaDB 10.3 or greater
HTTPS support1.安装 php
更新系统:
sudo dnf update -y查找可用的 PHP 版本
sudo dnf module list php
有8.2版本,指定对应的版本
sudo dnf module enable php:8.2 -y
安装 php
sudo dnf install php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-opcache -y查看 php 版本
php -v
成功安装 php 8.2
启动和启用 php-fpm 服务
sudo systemctl start php-fpm
sudo systemctl enable php-fpm2.安装MariaDB
Rocky Linux 的官方仓库默认包含 MariaDB,它是 MySQL 的一个流行的分支,与 MySQL 高度兼容,并且是许多发行版默认的数据库选择。对于大多数应用来说,使用 MariaDB 已经足够。
- 安装 MariaDB 服务器和客户端:
sudo dnf install mariadb-server mariadb -y- `mariadb-server`: MariaDB 数据库服务器。
- `mariadb`: MariaDB 客户端工具,用于连接和管理数据库。
2. 启动 MariaDB 服务:
sudo systemctl start mariadb- 设置 MariaDB 服务开机自启动:
sudo systemctl enable mariadb- 运行安全安装脚本: 这是非常重要的一步,用于提高 MariaDB 的安全性。
sudo mysql_secure_installation这个脚本会引导您完成以下步骤:
- 设置 root 用户密码。
- 移除匿名用户。
- 禁止 root 用户远程登录。
- 移除测试数据库及其访问权限。
- 重新加载权限表。 请按照提示操作,建议选择 Y 来启用这些安全措施。
5. 验证安装:
sudo systemctl status mariadb确保服务正在运行。

mysql -V这将显示已安装的 MariaDB 客户端版本。
您也可以使用 root 用户连接数据库:
sudo mysql -u root -p然后输入您在安全安装脚本中设置的 root 密码。成功连接后,您将看到 MariaDB 的命令行提示符。输入 exit 退出。
防火墙设置
希望从外部访问 MySQL 数据库(例如从另一台服务器上的应用程序连接),您需要在防火墙中打开 MySQL 的默认端口 3306
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload3.部署 WordPress
主要步骤
- 安装 Web 服务器 (Nginx): 如果您还没有安装 Nginx,需要先安装它。
- 创建 WordPress 数据库和用户: 为 WordPress 创建一个独立的数据库和数据库用户。
- 下载和解压 WordPress 文件: 从 WordPress.org 官方网站下载最新版本的 WordPress。
- 配置 Web 服务器 (Nginx) 虚拟主机: 设置 Nginx 来处理您的域名并指向 WordPress 文件。
- 配置 WordPress: 运行 WordPress 的安装向导,连接数据库并完成基本设置。
- 设置文件权限: 确保 Web 服务器用户对 WordPress 文件有适当的读写权限。
- 配置防火墙: 如果需要从外部访问您的 WordPress 网站,需要打开 HTTP/HTTPS 端口。
详细步骤:
步骤 1:安装 Web 服务器 (Nginx)
如果您还没有安装 Nginx,请运行以下命令:
sudo dnf install nginx -y安装完成后,启动并设置 Nginx 开机自启动:
sudo systemctl start nginx
sudo systemctl enable nginx步骤 2:创建 WordPress 数据库和用户 (使用 MariaDB)
- 登录 MariaDB:
sudo mysql -u root -p输入您的 MariaDB root 用户密码。
14. 创建数据库: 为 WordPress 创建一个数据库(例如 wordpress_db)。
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci- `CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci`: 推荐使用这个字符集和排序规则,以便支持更广泛的字符。
15. 创建数据库用户和密码: 创建一个专门用于 WordPress 的数据库用户(例如 wordpress_user),并为其设置一个强密码(将 'your_strong_password' 替换为您自己的密码)。
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_strong_password'- `'localhost'`: 表示该用户只能从本地连接数据库。如果您需要从其他服务器连接,请将 `'localhost'` 替换为相应的 IP 地址或 `%` (允许从任意主机连接,不推荐)。
16. 授予用户数据库权限: 授予新创建的用户对 wordpress_db 数据库的所有权限。
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';- 刷新权限: 使更改生效。
FLUSH PRIVILEGES;- 退出 MariaDB:
EXIT;步骤 3:下载和解压 WordPress 文件
- 进入 Web 根目录: 我们将使用
/usr/share/nginx/html作为示例。
cd /usr/share/nginx/html/- 下载最新版本的 WordPress: 访问 WordPress.org 下载页面,复制最新版本的
.tar.gz下载链接。然后使用wget下载:
sudu dnf install wget -y
sudo wget https://wordpress.org/latest.tar.gz- 解压 WordPress 文件:
sudo dnf install tar -y
sudo tar -xvzf latest.tar.gz这将创建一个名为 wordpress 的目录,其中包含 WordPress 的所有文件。
22. 删除下载的压缩包:
sudo rm latest.tar.g步骤 4:配置 Web 服务器 (Nginx) 虚拟主机
您需要告诉 Nginx 如何处理您的 WordPress 网站。
- 创建 Nginx 配置文件: 在
/etc/nginx/conf.d/目录下创建一个新的配置文件,例如wordpress.conf。
sudo vim /etc/nginx/conf.d/wordpress.conf- 粘贴以下配置代码: 将
your_domain.com替换为您自己的域名。
server {
listen 80;
server_name your_domain.com; # 将 your_domain.com 替换为您的域名
root /usr/share/nginx/html/wordpress; # 将此路径替换为您的 WordPress 文件所在的目录
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock; # 或您的 php-fpm socket 文件路径
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 阻止访问隐藏文件
location ~ /\.ht {
deny all;
}
}
- `server_name`: 设置您的域名。
- `root`: 设置您的 WordPress 文件所在的目录。
- `fastcgi_pass`: 指定 PHP-FPM 的 socket 文件路径。如果您在安装 PHP 时使用了默认设置,通常就是 `/run/php-fpm/www.sock`。如果您使用了 Remi 仓库或有其他配置,请确认正确的路径。
- 其他设置是为了确保 Nginx 正确地处理 PHP 文件和 WordPress 的永久链接。
25. 保存并关闭文件: 按 Ctrl+X,然后按 Y,最后按 Enter。
26. 检查 Nginx 配置语法:
sudo nginx -t如果出现 syntax is ok 和 test is successful,说明配置没有问题。
27. 重新加载 Nginx 配置:
sudo systemctl reload nginx步骤 5:设置文件权限
更改 PHP-FPM 的用户和组
为了保持一致性和简化权限管理,将 PHP-FPM 池的运行用户也设置为 nginx。
- 编辑 PHP-FPM 配置文件:
sudo vim /etc/php-fpm.d/www.conf- 修改
**user**和**group**指令: 找到以下行:
user = apache
group = apache将它们更改为:
user = nginx
group = nginx- 保存文件并退出编辑器。
- 重启 PHP-FPM 服务以使更改生效:
sudo systemctl restart php-fpm- 重启 Nginx 服务:
sudo systemctl restart nginx完成这些步骤后,PHP-FPM 进程将以 nginx 用户和组的身份运行。由于你的 WordPress 文件也由 nginx 用户和组拥有,PHP 脚本(通过以 nginx 身份运行的 PHP-FPM 进程执行)将拥有对这些文件的适当权限(假设文件权限设置正确,例如所有者有读写权限)。
sudo vim /etc/php-fpm.d/www.confWeb 服务器用户 (通常是 nginx) 需要对 WordPress 文件有适当的读写权限,以便 WordPress 可以创建和修改文件(例如上传媒体、安装插件和主题)。
- 更改 WordPress 目录的所有者: 将 WordPress 目录及其内容的所有者更改为 Web 服务器用户和组(通常是
nginx:nginx)。
sudo chown -R nginx:nginx /usr/share/nginx/html/wordpress- 设置目录权限:
sudo find /usr/share/nginx/html/wordpress -type d -exec chmod 755 {} \;- 设置文件权限:
sudo find /usr/share/nginx/html/wordpress -type f -exec chmod 644 {} \;注意: 在某些情况下,您可能需要对特定的目录(例如 wp-content/uploads/)赋予更宽松的权限(例如 775 或 777)以允许 WordPress 上传文件。但出于安全考虑,推荐在完成安装并上传文件后将权限改回 755。
步骤 6:配置防火墙
如果您需要从外部访问您的 WordPress 网站,需要打开 HTTP (端口 80) 和 HTTPS (端口 443) 端口。
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload关闭 selinux
sudo vim /etc/selinux/config更改 selinux 的状态
SELINUX=disabled保存后重启服务器
reboot步骤 7:配置 WordPress
现在您可以通过 Web 浏览器访问您的服务器 IP 地址或域名来运行 WordPress 的安装向导了。
- 在浏览器中访问您的服务器 IP 地址或域名:
http://your_server_ip_or_domain.com- 选择语言: 选择您想要的语言。
- 信息页面: WordPress 会提示您需要数据库名称、用户名、密码和主机等信息。点击 “现在就开始!”。
- 填写数据库信息:
- 数据库名:
wordpress_db(您在步骤 2 中创建的数据库名称) - 用户名:
wordpress_user(您在步骤 2 中创建的数据库用户) - 密码:
your_strong_password(您在步骤 2 中设置的密码) - 数据库主机:
localhost - 表前缀: 通常保持默认的
wp_即可,如果您在同一数据库中安装多个 WordPress,可以修改它。
- 数据库名:
- 提交并运行安装: WordPress 会尝试连接数据库。如果连接成功,点击 “进行安装”。
- 填写站点信息:
- 站点标题: 您的网站标题。
- 用户名: 用于登录 WordPress 后台的管理员用户名。
- 密码: 用于登录 WordPress 后台的管理员密码。请选择一个强密码。
- 您的电子邮件: 您的电子邮件地址。
- 对搜索引擎可见性: 根据您的需求选择是否允许搜索引擎索引您的网站。
- 安装 WordPress: 点击 “安装 WordPress”。
- 登录: 安装完成后,您会看到一个成功页面。点击 “登录” 进入 WordPress 后台。
恭喜! 您已经成功在 Rocky Linux 服务器上部署了 WordPress.org。
解除插件限制
增加插件直接读写文件,在图中位置直接增加代码
define('FS_METHOD', 'direct');
- 确认 Nginx/PHP-FPM 使用的
**php.ini**文件:- 在你的 WordPress 网站根目录创建一个名为
info.php的文件(或者其他你喜欢的名称),内容如下:
- 在你的 WordPress 网站根目录创建一个名为
<?php
phpinfo();
?>- 通过浏览器访问这个文件(例如 `你的网站域名/info.php`)。
- 在打开的 `phpinfo()` 页面中,找到 "Loaded Configuration File" 或 "php.ini" 行,记下显示的 `php.ini` 文件路径。 **这个路径就是你需要修改的 **`**php.ini**`** 文件。**
- **重要:** 检查 `phpinfo()` 输出中的 `upload_max_filesize` 和 `post_max_size` 值,看它们当前是多少。
45. 编辑正确的 **php.ini** 文件:
- 使用命令行编辑器打开你在上一步找到的 php.ini 文件。例如:
vim /etc/php.ini # 在 phpinfo() 中找到的实际路径- 找到 `upload_max_filesize` 和 `post_max_size` 这两行,修改它们的值为你想要的大小(例如,为了上传 500MB 的文件,你可以设置为 `512M` 或更大,记住 `post_max_size` 应该大于或等于 `upload_max_filesize`)。
upload_max_filesize = 512M
post_max_size = 512M- 处理大文件需要更多内存,如果这个值太小,可能会导致内存不足错误。建议将其设置为比 `post_max_size` 大一些的值,例如 `512M` 或 `1024M`。
memory_limit = 512M- 保存并关闭 `php.ini` 文件。
46. 重启 Nginx 和 PHP-FPM 服务: 确保更改生效。
sudo systemctl restart nginx
sudo systemctl restart php-fpm - 再次通过浏览器访问
**info.php**文件: 查看upload_max_filesize和post_max_size的值是否已经更新为你修改后的值。如果值已经改变,说明你的修改已经生效。 - 删除
**info.php**文件: 出于安全考虑,在确认配置已生效后,请删除你创建的info.php文件。