在 CentOS 8.2 上安装 WordPress,最推荐且稳定的方式是使用 LNMP 环境(Linux + Nginx + MySQL/MariaDB + PHP)。虽然也可以使用 Apache,但 Nginx 在处理高并发时性能更优。
由于 CentOS 8 官方已停止维护(EOL),直接安装可能会遇到软件源失效的问题。以下教程将基于标准流程,并特别提示如何处理软件源问题。
前置准备:处理软件源(关键步骤)
CentOS 8 已于 2021 年 12 月停止支持,默认的 yum 源可能无法找到包。你需要先将其替换为 vault.centos.org 或使用第三方源(如 Remi 源)来确保能安装到较新的 PHP 和数据库版本。
# 1. 备份原有配置
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 2. 下载 Vault 源配置 (或者使用阿里云/清华源)
sudo curl -o /etc/yum.repos.d/CentOS-Vault.repo https://raw.githubusercontent.com/rocky-linux/rockylinux/main/CentOS-Vault.repo
# 3. 清理缓存并更新
sudo yum clean all
sudo yum makecache
注意:如果你需要较新的 PHP 版本(推荐 PHP 7.4+ 或 8.x),强烈建议启用 Remi Repository。
第一步:安装 Web 服务器 (Nginx) 和 数据库 (MariaDB)
# 安装 Nginx
sudo yum install -y nginx
# 安装 MariaDB (MySQL 的开源分支)
sudo yum install -y mariadb-server mariadb
# 启动服务并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 安全初始化数据库 (按提示操作,回车即可)
sudo mysql_secure_installation
# 建议:设置 root 密码,移除匿名用户,禁止 root 远程登录,删除测试库
第二步:安装 PHP 及扩展
为了获得最佳兼容性,推荐使用 Remi 源 安装 PHP 8.1 或 8.2。
# 安装 EPEL 和 Remi 源
sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# 重置模块流以使用 Remi 的 PHP
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.1 -y
# 安装 PHP-FPM, PHP-Mysql, 以及 WordPress 常用的扩展
sudo yum install -y php-fpm php-mysqlnd php-gd php-mbstring php-curl php-json php-opcache php-xml php-zip
第三步:配置 Nginx 虚拟主机
我们需要创建一个站点配置文件,告诉 Nginx 如何转发请求给 PHP-FPM。
-
创建网站目录:
sudo mkdir -p /var/www/html/wordpress sudo chown -R nginx:nginx /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress -
创建 Nginx 配置文件:
编辑/etc/nginx/conf.d/wordpress.conf:sudo vim /etc/nginx/conf.d/wordpress.conf粘贴以下内容(请根据你的域名修改
server_name):server { listen 80; server_name your_domain_or_ip; # 替换为你的域名或 IP root /var/www/html/wordpress; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } # 处理 PHP 文件 location ~ .php$ { fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; } # 禁止访问 wp-config.php location ~* /wp-config.php { deny all; } # 禁止访问敏感文件 location ~* /. { deny all; } } -
重启 Nginx:
sudo systemctl restart nginx
第四步:下载并解压 WordPress
cd /tmp
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz -C /var/www/html/wordpress --strip-components=1
sudo rm latest.tar.gz
# 修正权限
sudo chown -R nginx:nginx /var/www/html/wordpress
第五步:创建 WordPress 数据库和用户
登录 MySQL 命令行进行配置:
sudo mysql -u root -p
在 SQL 提示符下执行(请将密码替换为你自己设定的强密码):
-- 1. 创建数据库
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 2. 创建用户并授权
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress_user'@'localhost';
-- 3. 刷新权限
FLUSH PRIVILEGES;
-- 4. 退出
EXIT;
第六步:生成 wp-config.php 并完成安装
WordPress 需要配置文件,我们可以先生成一个示例文件,然后填入刚才创建的数据库信息。
-
复制示例配置:
cd /var/www/html/wordpress cp wp-config-sample.php wp-config.php -
编辑配置 (
wp-config.php):sudo nano wp-config.php找到并修改以下行:
define( 'DB_NAME', 'wordpress' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', 'StrongPasswordHere' ); // 如果不确定 DB_HOST,通常保持 localhost 不变可选优化:增加安全性定义(在 `/ That’s all, stop editing! Happy publishing. /` 之前添加):
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); // ... (其他密钥也可生成,或使用 WP-CLI 生成) -
再次确认权限:
sudo chown nginx:nginx wp-config.php
第七步:浏览器访问与完成
现在,打开浏览器访问你的服务器 IP 或域名:
http://your_server_ip
你将看到 WordPress 的安装向导界面:
- 语言选择:选择中文。
- 填写信息:
- 站点标题
- 用户名(不要使用 admin)
- 密码
- 邮箱
- 点击“安装 WordPress”。
安装完成后,你可以使用刚才设置的账号登录后台了。
后续重要建议
-
防火墙设置:
确保开放 80 (HTTP) 和 443 (HTTPS) 端口:sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload -
SSL 证书:
生产环境强烈建议使用 Let’s Encrypt 免费证书。可以安装certbot:sudo yum install -y certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com -
定期备份:
鉴于 CentOS 8 已停止维护,建议尽快规划迁移至 Rocky Linux、AlmaLinux 或 Debian/Ubuntu LTS 版本,以确保长期的安全性和软件源支持。
CLOUD云