在CentOS或Ubuntu上安装WordPress的步骤和注意事项有哪些?

在 CentOS(推荐 8/9)或 Ubuntu(推荐 22.04 LTS / 24.04 LTS)上安装 WordPress,本质是部署一个 LAMP(Linux + Apache + MySQL/MariaDB + PHP)或 LEMP(Linux + Nginx + MySQL/MariaDB + PHP)环境,并配置 WordPress。以下是生产环境推荐的标准化步骤与关键注意事项,兼顾安全性、可维护性和兼容性。


✅ 一、通用前提准备(所有系统)

项目 要求
服务器 最小 1GB RAM(建议 2GB+),2 CPU 核心,20GB 磁盘空间
权限 具备 sudo 权限的非 root 用户(禁止直接用 root 运行)
域名与 SSL 建议绑定域名(如 example.com),后续强制启用 HTTPS(Let’s Encrypt)
防火墙 开放端口:80(HTTP)、443(HTTPS)、22(SSH);禁用 3306 网络访问

⚠️ 注意:切勿在公网暴露 MySQL 默认端口(3306)或使用弱密码!


✅ 二、按发行版选择环境栈(推荐方案)

系统 推荐 Web 服务器 数据库 PHP 版本 理由
Ubuntu 22.04/24.04 Nginx(轻量高并发) MariaDB 10.6+MySQL 8.0+ PHP 8.1+(官方支持 WP 6.0+) Ubuntu 官方仓库更新及时,Nginx 配置更简洁
CentOS Stream 8/9 Nginx(或 Apache) MariaDB(RHEL 系生态默认) PHP 8.1+(需 EPEL + Remi 仓库) CentOS Stream 是滚动发布,避免使用已 EOL 的 CentOS 7

🔍 提示:WordPress 官方要求:PHP ≥ 8.0MySQL ≥ 5.6MariaDB ≥ 10.1HTTPS 强烈推荐(WP 6.0+ 对未加密连接有警告)。


✅ 三、分步安装(以 Ubuntu 22.04 + Nginx + MariaDB + PHP 8.1 为例)

1️⃣ 更新系统 & 安装基础工具

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget unzip gnupg2 software-properties-common

2️⃣ 安装 Nginx

sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx
# 检查:curl -I http://localhost → 应返回 200 OK

3️⃣ 安装 MariaDB(安全初始化)

sudo apt install -y mariadb-server
sudo mysql_secure_installation  # 交互式:设 root 密码、禁用匿名用户、禁用远程 root、删除 test DB、重载权限

4️⃣ 安装 PHP 及必要扩展(WordPress 核心依赖)

sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

# ✅ 关键检查:确保启用 mbstring 和 xml 扩展(否则 WP 后台报错)
php -m | grep -E "(mbstring|xml|curl|mysql)"

5️⃣ 创建 WordPress 数据库与专用用户(⚠️ 严禁用 root 连接 WP)

sudo mysql -u root -p
-- 在 MariaDB 提示符下执行:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'StrongPassw0rd!2024';
GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

6️⃣ 下载并解压 WordPress(到 Web 根目录)

cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo rsync -avP wordpress/ /var/www/html/  # 覆盖默认 index.html

# 设置权限(安全关键!)
sudo chown -R $USER:www-data /var/www/html/
sudo find /var/www/html/ -type d -exec chmod 750 {} ;
sudo find /var/www/html/ -type f -exec chmod 640 {} ;
sudo chmod 600 /var/www/html/wp-config.php  # 后续创建后立即设置

7️⃣ 配置 Nginx 站点(/etc/nginx/sites-available/wordpress

server {
    listen 80;
    server_name example.com www.example.com;  # ❗ 替换为你的域名
    root /var/www/html;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;  # 确认 PHP-FPM socket 路径
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /.ht {
        deny all;
    }
}

启用站点:

sudo ln -sf /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

8️⃣ 配置 WordPress(生成 wp-config.php)

cd /var/www/html
sudo cp wp-config-sample.php wp-config.php

# 使用 wp-cli 自动生成安全密钥(推荐)或手动编辑
sudo apt install -y wp-cli
sudo -u www-data wp config create 
  --dbname=wordpress 
  --dbuser=wpuser 
  --dbpass='StrongPassw0rd!2024' 
  --dbhost=localhost 
  --dbprefix=wp_ 
  --locale=zh_CN  # 中文用户可选

# ✅ 强制设置文件权限(防止被篡改)
sudo chmod 600 wp-config.php

9️⃣ 启用 HTTPS(使用 Certbot + Let’s Encrypt)

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
# ✅ 自动配置 HTTPS 并重定向 HTTP → HTTPS
# ✅ 自动续期(systemd timer 已启用)

🔟 完成安装

访问 https://example.com,按向导完成 WordPress 安装(设置站点标题、管理员账号等)。


⚠️ 四、关键注意事项(生产环境必读)

类别 注意事项 解决方案
安全性 ❌ 使用默认 admin 用户名
❌ 插件/主题从非官方源安装
wp-config.php 权限过宽
✅ 安装时设非 admin 用户名
✅ 仅从 WordPress.org 安装
chmod 600 wp-config.php,且移出 Web 可访问路径(如 /var/www/wp-config.php + define('ABSPATH', '/var/www/html/');
性能 ❌ 未启用 OPcache
❌ 无对象缓存(Redis/Memcached)
✅ 编辑 /etc/php/8.1/fpm/php.ini
opcache.enable=1, opcache.memory_consumption=256
✅ 安装 Redis + WP 插件(如 Redis Object Cache
备份 ❌ 无自动数据库+文件备份 ✅ 使用 automysqlbackup + rsync 脚本,每日异地备份
✅ 或专业工具:UpdraftPlus(免费版足够)
更新 ❌ 手动更新核心/插件易出错 ✅ 启用自动更新(后台 → 设置 → 更新 → 勾选“次要版本”)
✅ 测试环境先行验证
日志与监控 ❌ 无错误日志、无访问分析 ✅ Nginx 日志:/var/log/nginx/wordpress_error.log
✅ 启用 WP_DEBUG(仅开发环境):
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);
CDN 与静态资源 ❌ 图片/CSS/JS 未压缩提速 ✅ Cloudflare 免费版 + Auto Minify
✅ WP 插件:WP Super CacheLiteSpeed Cache(Nginx 兼容好)

✅ 五、CentOS Stream 8/9 补充说明(与 Ubuntu 差异点)

  • PHP 安装(需启用 Remi 仓库):
    sudo dnf install -y epel-release
    sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
    sudo dnf module reset php
    sudo dnf module enable php:remi-8.1
    sudo dnf install -y php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
  • MariaDB:默认版本较新(10.5+),无需额外仓库。
  • SELinux:若启用(默认 enforcing),需放行:
    sudo setsebool -P httpd_can_network_connect_db 1
    sudo setsebool -P httpd_can_network_connect 1

📌 六、验证清单(部署后必做)

  • [ ] https://example.com 可正常打开,无 500/502 错误
  • [ ] WordPress 后台 → “仪表盘 → 更新” 显示最新版
  • [ ] wp-config.php 文件权限为 600,且无法通过浏览器直接访问
  • [ ] 数据库用户 wpuser 仅对 wordpress 库有权限(无 mysqlinformation_schema 访问权)
  • [ ] curl -I https://example.com 返回 HTTP/2 200 + Strict-Transport-Security
  • [ ] wp plugin list --status=active --format=count ≥ 0(确认 WP-CLI 可用)

💡 进阶建议(可选但强烈推荐)

  • 使用 Docker Compose(快速复现环境,适合多站管理)
  • 配置 Fail2ban 防暴力破解登录
  • 启用 Two-Factor Authentication(插件:Wordfence 或 Google Authenticator)
  • 将网站根目录从 /var/www/html 改为 /srv/www/example.com(符合 FHS 标准)

如需我提供:

  • 一键部署脚本(Bash,含安全加固)
  • Docker Compose 文件模板(Nginx + PHP-FPM + MariaDB + Redis)
  • WordPress 安全加固 checklist PDF
  • 中文环境优化指南(字体、评论、SEO 插件推荐)

欢迎随时告知,我可以立即为你生成 👇

是否需要某一部分的详细展开?例如:如何用 WP-CLI 完全自动安装?Nginx 高性能调优参数?

未经允许不得转载:云知识CLOUD » 在CentOS或Ubuntu上安装WordPress的步骤和注意事项有哪些?