是的,完全可以在 AlmaLinux 或 Rocky Linux 上顺利安装和运行 WordPress。事实上,AlmaLinux 和 Rocky Linux 作为 RHEL(Red Hat Enterprise Linux)的社区兼容衍生版,与 CentOS Stream/CentOS 7/8 的生态高度一致,是部署 WordPress 等 LAMP/LNMP 应用的推荐生产环境之一,稳定、安全且长期支持(AlmaLinux 9 / Rocky Linux 9 均提供至 2032 年的主流支持)。
✅ 无需“额外”或“特殊”配置,但需要按标准 Web 服务流程进行必要且规范的配置(这与在 Ubuntu/Debian 上本质相同,只是包管理器和路径略有差异)。以下是关键要点和推荐实践:
✅ 一、基础技术栈(推荐组合)
| 组件 | 推荐版本(Rocky/AlmaLinux 9) | 说明 |
|---|---|---|
| Web 服务器 | nginx(推荐)或 httpd(Apache) |
Nginx 更轻量高效;Apache 兼容性略广(尤其 .htaccess) |
| 数据库 | mariadb-server(10.11+) |
RHEL 9 默认提供,完全兼容 MySQL,性能稳定 |
| PHP | php + php-fpm(8.1 或 8.2) |
Rocky/Alma 9 默认 PHP 8.1(含 OPcache、curl、gd、mbstring、xml、json、zip 等 WordPress 所需扩展) |
| 其他依赖 | php-mysqlnd, php-opcache, php-gd, php-xml, php-curl, php-zip, php-bcmath |
安装时需显式启用(见下方命令) |
💡 提示:RHEL 9 系(即 Alma/Rocky 9)默认使用
dnf(而非yum),且启用了模块化(dnf module list php可查看可用 PHP 版本)。
✅ 二、典型安装步骤(以 Nginx + MariaDB + PHP-FPM 为例)
# 1️⃣ 更新系统 & 启用 EPEL(可选,但推荐用于额外工具)
sudo dnf update -y
sudo dnf install -y epel-release
# 2️⃣ 安装 LEMP 栈
sudo dnf install -y nginx mariadb-server php-fpm php-mysqlnd php-gd php-xml php-curl php-zip php-bcmath php-opcache
# 3️⃣ 启动并启用服务
sudo systemctl enable --now nginx mariadb php-fpm
sudo mysql_secure_installation # 设置 root 密码、禁用匿名用户等(务必执行!)
# 4️⃣ 创建 WordPress 数据库与用户(示例)
mysql -u root -p
> CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'StrongPass123!';
> GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';
> FLUSH PRIVILEGES;
> EXIT;
# 5️⃣ 下载 WordPress(到 /var/www/html/ 或自定义目录)
cd /var/www/html/
sudo rm -rf *
sudo curl -fsSL https://wordpress.org/latest.tar.gz | sudo tar xz --strip-components=1
# 6️⃣ 设置权限(关键!避免 500 错误)
sudo chown -R nginx:nginx /var/www/html/
sudo chmod -R 755 /var/www/html/
sudo chmod 644 /var/www/html/wp-config.php # 配置后设置
# 7️⃣ 配置 Nginx(/etc/nginx/conf.d/wordpress.conf)
server {
listen 80;
server_name your-domain.com;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}
# 8️⃣ 重载 Nginx & 检查防火墙
sudo nginx -t && sudo systemctl reload nginx
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
🔐 安全提示:
- 生产环境务必配置 HTTPS(用 Let's Encrypt +
certbot,dnf install certbot python3-certbot-nginx)- 禁用 PHP 显示错误:编辑
/etc/php.d/99-wordpress.ini→display_errors = Off- 限制 PHP 资源:
memory_limit = 256M,upload_max_filesize = 64M,post_max_size = 100M
✅ 三、常见注意事项(非“额外”,而是最佳实践)
| 问题 | 解决方案 |
|---|---|
WordPress 安装向导无法写入 wp-config.php |
SELinux 默认阻止写入 → sudo setsebool -P httpd_can_network_connect_db 1 + sudo chcon -t httpd_sys_rw_content_t /var/www/html/(或临时 setenforce 0 测试,但不推荐生产禁用) |
| 上传文件失败 / 图片缩略图不生成 | 确保 php-gd 已安装;检查 SELinux 上下文;确认 upload_tmp_dir 权限(/var/lib/php/session) |
| Permalinks 404(伪静态) | Nginx 需正确配置 try_files(如上所示),Apache 则需启用 mod_rewrite 和 .htaccess 支持 |
| PHP 扩展缺失 | dnf list available php-* 查找所需扩展,如 php-imagick、php-intl(多语言支持) |
✅ 四、自动化部署(可选进阶)
- 使用 Ansible Playbook(geerlingguy.wordpress 角色已支持 Rocky/AlmaLinux)
- 使用 Docker:官方
wordpress:php8.2-apache镜像在 Rocky 主机上运行无任何问题(需 Docker Engine) - 使用 cPanel/CloudLinux(商业方案)或 Webmin/Virtualmin(免费)简化管理
✅ 总结
| 项目 | 结论 |
|---|---|
| 能否顺利安装运行? | ✅ 完全支持,生产级稳定可靠 |
| 是否需要额外配置? | ❌ 不需要“魔改”,✅ 但必须完成标准 LEMP 配置 + SELinux/防火墙/权限调整(所有 Linux 发行版通用要求) |
| 相比 Ubuntu/Debian? | 包管理更严谨、内核/库更保守(适合企业)、SELinux 提供更强安全基线(需学习适应) |
| 推荐场景 | 企业官网、高流量博客、政企合规环境、长期维护型站点 |
📌 最后建议:首次部署可参考 WordPress 官方安装指南 + Rocky Linux 文档,两者结合毫无障碍。
如需,我可为你提供:
- 完整的
nginx+php-fpm配置文件模板 - 自动化安装脚本(Bash)
- SELinux 策略调试技巧
- Let's Encrypt 免费 HTTPS 一键配置
欢迎随时提出具体需求 👍
CLOUD云计算