走啊走
加油

能否在AlmaLinux或Rocky Linux上顺利安装和运行WordPress?需要额外配置吗?

服务器价格表

是的,完全可以在 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 + certbotdnf install certbot python3-certbot-nginx
  • 禁用 PHP 显示错误:编辑 /etc/php.d/99-wordpress.inidisplay_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-imagickphp-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 一键配置

欢迎随时提出具体需求 👍