是的,完全可以在 AlmaLinux 或 Rocky Linux(两者均为 RHEL 8/9 兼容的免费企业级发行版)上顺利安装和运行 WordPress。它们与 CentOS Stream 和旧版 CentOS 高度兼容,是当前部署 WordPress 的推荐生产环境之一,尤其适合注重稳定性、安全性和长期支持(LTS)的场景。
✅ 优势总结:
- 完全兼容 RHEL 生态,软件包(如 Apache/Nginx、PHP、MariaDB)、SELinux 策略、防火墙(firewalld)等开箱即用;
- 提供长达 10 年的安全更新(AlmaLinux/Rocky 8 → 支持至 2029;Rocky 9/Alma 9 → 至 2032);
- 社区活跃、企业级支持完善,适合生产环境。
✅ 推荐技术栈(LAMP 或 LEMP)
| 组件 | 推荐版本(RHEL 8/9) | 备注 |
|---|---|---|
| Web Server | httpd (Apache 2.4) 或 nginx |
Apache 更简单(.htaccess 原生支持),Nginx 性能更高(需额外配置伪静态) |
| Database | mariadb-server (10.3+ for RHEL 8, 10.11+ for RHEL 9) |
官方推荐,完全兼容 MySQL 协议;也可选 MySQL 8.0(需手动添加官方 repo) |
| PHP | php + php-{mysqlnd,xml,mbstring,gd,curl,zip,opcache,cli,fpm}(≥ 8.0,强烈建议 ≥ 8.1) |
WordPress 6.4+ 要求 PHP ≥ 7.4,但 PHP 8.1/8.2 是最佳选择(性能 & 安全) |
| SSL | mod_ssl / certbot(配合 Let’s Encrypt) |
强制启用 HTTPS(WordPress 核心功能、插件、SEO 必需) |
🔔 注意:RHEL 8/9 默认仓库中的 PHP 版本较旧(如 RHEL 8.6 自带 PHP 7.2 — 已EOL)。必须升级 PHP,否则无法运行新版 WordPress(且存在严重安全风险)。
⚙️ 关键配置步骤(以 AlmaLinux 9 / Rocky 9 为例)
1️⃣ 启用 EPEL + Remi 仓库(获取现代 PHP)
# 启用 EPEL(基础扩展)
sudo dnf install -y epel-release
# 启用 Remi(提供 PHP 8.1/8.2/8.3)
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
# 启用 PHP 8.2 模块(推荐)
sudo dnf module reset php
sudo dnf module enable php:remi-8.2
# 安装 PHP 及必需扩展
sudo dnf install -y php php-{mysqlnd,xml,mbstring,gd,curl,zip,opcache,cli,fpm}
2️⃣ 安装并配置 MariaDB
sudo dnf install -y mariadb-server
sudo systemctl enable --now mariadb
sudo mysql_secure_installation # 按提示设置 root 密码、禁用匿名用户等
# 创建 WordPress 数据库与用户(示例)
mysql -u root -p
> CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
> CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPass123!';
> GRANT ALL ON wordpress_db.* TO 'wp_user'@'localhost';
> FLUSH PRIVILEGES;
> EXIT;
3️⃣ 安装 Web Server(以 Apache 为例)
sudo dnf install -y httpd
sudo systemctl enable --now httpd
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
4️⃣ 下载并部署 WordPress
cd /var/www/html
sudo rm -rf *
sudo curl -fsSL https://wordpress.org/latest.tar.gz | sudo tar xz --strip-components=1
# 设置权限(安全关键!)
sudo chown -R apache:apache /var/www/html/
sudo find /var/www/html/ -type d -exec chmod 755 {} ;
sudo find /var/www/html/ -type f -exec chmod 644 {} ;
sudo chmod 600 /var/www/html/wp-config.php # 后续生成后设置
5️⃣ 配置 PHP 与安全加固
- 编辑
/etc/php.ini:memory_limit = 256M upload_max_filesize = 64M post_max_size = 100M max_execution_time = 300 date.timezone = "Asia/Shanghai" # 替换为你所在时区 - 启用 OPcache(提升性能):
opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000
6️⃣ 配置 SELinux(⚠️ 必须!否则 500 错误频发)
# 允许 HTTP 访问网络(如插件更新、Gravatar)
sudo setsebool -P httpd_can_network_connect 1
# 允许 WordPress 写入 uploads、cache 等目录(若需自动更新)
sudo setsebool -P httpd_can_network_connect_db 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wp-content(/.*)?"
sudo restorecon -Rv /var/www/html/wp-content
7️⃣ 启用 HTTPS(强烈推荐)
sudo dnf install -y certbot python3-certbot-apache
sudo certbot --apache -d your-domain.com
# 自动配置 SSL + HTTP→HTTPS 重定向
🚫 常见陷阱与解决方案
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 500 Internal Server Error | SELinux 拒绝、PHP 扩展缺失、权限错误 | sudo ausearch -m avc -ts recent 查日志;检查 httpd_can_network_connect;确认 wp-content SELinux 上下文 |
| “Could not connect to database” | MariaDB 未运行 / 用户权限不足 / socket 路径错误 | sudo ss -lnp | grep mysqld;检查 wp-config.php 中 DB_HOST(建议用 localhost 而非 127.0.0.1,避免 TCP) |
| 上传文件失败 / 更新失败 | wp-content 无写权限 / SELinux 限制 / PHP upload_max_filesize 过小 |
chown apache:apache wp-content + restorecon -Rv wp-content + 检查 PHP 配置 |
| 后台重定向循环(登录后跳回登录页) | HTTPS 配置不完整(如反向X_X未传头)或 wp-config.php 缺少 define('FORCE_SSL_ADMIN', true); |
在 wp-config.php 顶部添加:if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') $_SERVER['HTTPS'] = 'on'; |
✅ 最佳实践建议(生产环境)
- ✅ 使用 PHP-FPM + Nginx(高并发更优)或 Apache MPM Event + mod_php;
- ✅ 启用 OPcache + Redis/Memcached(对象缓存,大幅提升性能);
- ✅ 定期备份:
mysqldump+/var/www/html/(排除wp-content/cache); - ✅ 安装 Wordfence / Sucuri 插件 + 配置 fail2ban 监控
/var/log/httpd/access_log; - ✅ 禁用 XML-RPC(若不用)或通过
.htaccess/Nginx 规则限制访问; - ✅ 将
wp-config.php移出 Web 根目录(如/etc/wordpress/wp-config.php),并在wp-config.php中require_once()加载。
✅ 验证是否成功?
访问 https://your-domain.com → 应看到 WordPress 安装向导页面(语言选择)→ 输入数据库信息 → 完成安装。
💡 提示:首次安装后,立即执行:
- 更新所有核心、主题、插件;
- 删除
wp-admin/install.php(防止重装);- 在「设置 → 常规」中确认 WordPress 地址(URL) 和 站点地址(URL) 均为
https://...。
如需,我可以为你提供:
- ✅ 一键部署脚本(Bash)
- ✅ Nginx + PHP-FPM 配置模板
- ✅ Redis 缓存集成指南
- ✅ 自动化备份 + Let’s Encrypt 续期方案
欢迎随时提出具体需求 👍
祝你在 AlmaLinux/Rocky 上搭建稳定、安全、高性能的 WordPress 站点! 🚀
轻量云Cloud