是的,完全可以在 AlmaLinux 或 Rocky Linux 上顺利安装和运行 WordPress。事实上,这两者作为 RHEL(Red Hat Enterprise Linux)的社区替代发行版,与 CentOS Stream 高度兼容,是部署 WordPress 的推荐生产环境之一,尤其适合注重稳定性、安全性和长期支持(LTS)的场景。
✅ 为什么适合?
- 两者均基于 RHEL 源码,提供长达 10 年的安全更新(如 AlmaLinux 9 / Rocky Linux 9 支持至 2032 年);
- 完全兼容 RHEL 生态工具链(如
dnf,systemd, SELinux, firewalld); - 社区活跃、企业级支持成熟(AlmaLinux 由 CloudLinux 背书,Rocky Linux 由 Rocky Enterprise Software Foundation 维护)。
✅ 推荐技术栈(LAMP 或 LEMP)
| 组件 | 推荐版本(RHEL 9 系列) | 备注 |
|---|---|---|
| Web Server | httpd (Apache 2.4) 或 nginx (1.20+) |
Apache 更易与 .htaccess/WordPress 插件兼容;Nginx 性能更优但需手动配置重写规则 |
| Database | mariadb-server (10.11.x) 或 postgresql |
MariaDB 是默认推荐,与 WordPress 兼容性最佳;MySQL 官方版不直接提供(需启用 MySQL 官方仓库) |
| PHP | php + php-{mysqlnd,xml,mbstring,gd,curl,zip,opcache,cli,fpm}(PHP 8.1+) |
RHEL 9 默认提供 PHP 8.1(安全、性能、兼容主流插件),强烈建议避免 PHP < 8.0(WordPress 6.4+ 已弃用 PHP 7.4) |
| SSL/TLS | certbot(配合 Let’s Encrypt)或手动配置 OpenSSL |
强制 HTTPS 是现代部署标配 |
⚙️ 关键配置注意事项(非“额外”,而是必须项)
| 类别 | 必须配置项 | 原因与说明 |
|---|---|---|
| SELinux | ✅ 启用并正确配置上下文:sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"sudo restorecon -Rv /var/www/html |
否则 WordPress 无法自动更新主题/插件、上传媒体文件(权限拒绝);切勿禁用 SELinux! 应通过策略管理 |
| 防火墙 | ✅ 开放端口:sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --reload |
默认 firewalld 会阻止外部访问 |
| PHP 设置 | ✅ 编辑 /etc/php.ini:• memory_limit = 256M(最低要求)• upload_max_filesize = 64M• post_max_size = 128M• max_execution_time = 300• date.timezone = Asia/Shanghai(按需设置) |
WordPress 后台更新、大附件上传、长时操作依赖这些参数 |
| 数据库权限 | ✅ 创建专用数据库用户(禁止 root 连接 WordPress):CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong_password';GRANT ALL ON wordpress_db.* TO 'wp_user'@'localhost'; FLUSH PRIVILEGES; |
安全基线要求,防止提权风险 |
| Permalinks(固定链接) | ✅ Apache:确保 mod_rewrite 已启用,并在站点配置中允许 .htaccess:<Directory "/var/www/html"> AllowOverride All </Directory>✅ Nginx:需在 server 块中添加重写规则(见官方文档) |
否则 /sample-post/ 类型链接 404 |
🛠️ 一键式快速部署示例(以 AlmaLinux 9 + Apache + MariaDB + PHP 8.1 为例)
# 1. 更新系统 & 安装基础组件
sudo dnf update -y
sudo dnf install -y httpd mariadb-server php php-mysqlnd php-gd php-xml php-mbstring php-curl php-zip php-opcache
# 2. 启动服务并设为开机自启
sudo systemctl enable --now httpd mariadb
sudo mysql_secure_installation # 按提示设置 root 密码、移除测试库等
# 3. 创建 WordPress 数据库与用户(登录 mysql 后执行)
# CREATE DATABASE ... (如上表所示)
# 4. 下载并解压 WordPress(到 /var/www/html)
cd /tmp && curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo rsync -av wordpress/ /var/www/html/
sudo chown -R apache:apache /var/www/html/
sudo chmod -R 755 /var/www/html/
# 5. 配置 SELinux(关键!)
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
sudo restorecon -Rv /var/www/html
# 6. 配置防火墙 & 启动
sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload
# 7. 访问 http://your-server-ip 完成 Web 安装向导
💡 提示:生产环境务必使用 HTTPS(可用 Certbot 自动获取免费证书)+ 强密码 + 定期更新(
sudo dnf update --security)。
❗ 常见陷阱规避指南
- ❌ 不要
chmod 777任何目录 → 用 SELinux + 正确属主(apache:apache)解决权限问题; - ❌ 不要跳过
restorecon→ SELinux 上下文丢失会导致静默失败; - ❌ 不要在
wp-config.php中硬编码数据库密码 → 可考虑使用环境变量(需 PHP-FPM 配置env[DB_PASSWORD])增强安全性; - ❌ 不要忽略
wp-content目录备份 → 主题、插件、上传文件均在此,数据库备份不够!
✅ 结论
AlmaLinux / Rocky Linux 不仅是“可以”运行 WordPress,更是生产环境的优选平台。只需遵循标准 LAMP/LEMP 部署流程,并重点配置 SELinux、PHP 参数和数据库权限,即可获得稳定、安全、高性能的 WordPress 服务。其长期支持周期也显著降低运维负担。
如需,我可以为你提供:
- 完整的
httpd或nginx站点配置模板 - 自动化部署脚本(Bash / Ansible)
- WordPress 安全加固 checklist(含 .htaccess 规则、fail2ban 集成)
- Docker Compose 方案(适用于容器化部署)
欢迎随时提出具体需求 👍
CDNK博客