在 CentOS 8.5 上部署 WordPress,核心依赖是 LAMP/LEMP 栈(Linux + Apache/Nginx + MySQL/MariaDB + PHP)。由于 CentOS 8 已停止官方支持(EOL),建议优先使用其替代方案或启用 EPEL 源。以下是推荐的最小化依赖环境及安装要点:
✅ 必需组件
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| 操作系统 | CentOS Stream 8 / Rocky Linux 9 / AlmaLinux 9 | CentOS 8 已于 2021-12 月 EOL,生产环境不建议继续使用;若必须用 CentOS 8.5,需手动配置 vault.centos.org 仓库 |
| Web 服务器 | Apache 2.4 或 Nginx 1.20+ | Apache 更兼容传统 .htaccess;Nginx 性能更高但需额外配置反向X_X与 PHP-FPM |
| 数据库 | MariaDB 10.3+(首选)或 MySQL 5.7+/8.0+ | WordPress 官方推荐 MariaDB;MySQL 8.0 需注意 sql_mode 兼容性 |
| PHP | PHP 7.4 ~ 8.2(强烈建议 8.1+) | WordPress 8.0+ 要求 PHP ≥ 7.4;PHP 8.2 为当前最佳平衡点 |
| 必要 PHP 扩展 | php-mysqlnd, php-gd, php-mbstring, php-xml, php-curl, php-zip, php-json, php-intl, php-bcmath 等 |
具体列表见下方 |
💡 提示:WordPress 官方 系统要求 明确列出所需 PHP 扩展。
🔧 关键 PHP 扩展清单(以 PHP 8.1 为例)
# 通过 dnf 安装(CentOS 8 需先启用 remi 或 epel 源)
dnf install php-fpm php-mysqlnd php-gd php-mbstring php-xml
php-curl php-zip php-json php-intl php-bcmath php-fileinfo
php-tokenizer php-dom php-simplexml php-iconv
⚠️ 注意:
php-mysqlnd是必须的(替代旧版mysql扩展)- 若使用 HTTPS,还需
php-openssl(通常包含在基础包中) - 避免使用已废弃的
php-mysql扩展
📦 推荐安装方式(两种主流方案)
方案 A:使用 Remi 源(推荐,PHP 版本新且稳定)
# 1. 启用 EPEL & Remi 源
dnf install -y epel-release
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# 2. 重置模块并启用 remi-php81
dnf module reset php -y
dnf module enable php:remi-8.1 -y
# 3. 安装 LAMP 栈
dnf install -y httpd mariadb-server php-fpm php-mysqlnd
php-gd php-mbstring php-xml php-curl php-zip php-json php-intl
方案 B:使用默认源(仅当无法添加第三方源时)
dnf install -y httpd mariadb-server php php-mysqlnd php-gd php-mbstring php-xml
# 注:默认 PHP 可能为 7.4,功能受限,不推荐用于新项目
🛠️ 后续关键步骤(简要)
- 启动服务并设置开机自启
systemctl enable --now httpd mariadb # 若用 Nginx + PHP-FPM: systemctl enable --now nginx php-fpm - 配置数据库
mysql_secure_installation # 创建 wp_db 用户与库 CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY 'strong_password'; FLUSH PRIVILEGES; - 配置 Web 服务器
- Apache:启用
mod_rewrite,配置虚拟主机指向/var/www/html - Nginx:配置
fastcgi_pass unix:/run/php-fpm/www.sock;及try_files规则
- Apache:启用
- 下载并解压 WordPress
cd /var/www/html curl -O https://wordpress.org/latest.tar.gz tar -xzf latest.tar.gz && mv wordpress/* . && rmdir wordpress chown -R apache:apache . chmod -R 755 . - 完成 Web 安装向导 → 访问
http://your-domain/wp-admin/install.php
⚠️ CentOS 8.5 特别注意事项
- 软件源失效:
baseos、appstream已移至vault.centos.org,需手动替换/etc/yum.repos.d/CentOS-*中的 URL - 安全更新停止:无官方补丁,仅限测试/隔离环境使用
- 替代建议:迁移至 Rocky Linux 9 或 AlmaLinux 9(1:1 兼容 RHEL,长期支持至 2032)
需要我提供完整的自动化部署脚本(含防火墙、SELinux 配置、WP-CLI 安装)吗?
PHPWP博客