在CentOS 8.5上部署WordPress需要安装哪些依赖环境?

在 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,功能受限,不推荐用于新项目

🛠️ 后续关键步骤(简要)

  1. 启动服务并设置开机自启
    systemctl enable --now httpd mariadb
    # 若用 Nginx + PHP-FPM:
    systemctl enable --now nginx php-fpm
  2. 配置数据库
    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;
  3. 配置 Web 服务器
    • Apache:启用 mod_rewrite,配置虚拟主机指向 /var/www/html
    • Nginx:配置 fastcgi_pass unix:/run/php-fpm/www.sock;try_files 规则
  4. 下载并解压 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 .
  5. 完成 Web 安装向导 → 访问 http://your-domain/wp-admin/install.php

⚠️ CentOS 8.5 特别注意事项

  • 软件源失效baseosappstream 已移至 vault.centos.org,需手动替换 /etc/yum.repos.d/CentOS-* 中的 URL
  • 安全更新停止:无官方补丁,仅限测试/隔离环境使用
  • 替代建议:迁移至 Rocky Linux 9AlmaLinux 9(1:1 兼容 RHEL,长期支持至 2032)

需要我提供完整的自动化部署脚本(含防火墙、SELinux 配置、WP-CLI 安装)吗?