在云服务器上部署 WordPress 是一个经典且实用的操作。由于你使用的是 CentOS(通常是 7 或 8/Stream),最主流、稳定且易于维护的方式是搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境,或者使用更简单的 LAMP(Apache)环境。
下面我将以目前企业级最常用的 LNMP 架构 为例,提供一套基于 Nginx + MariaDB + PHP-FPM 的完整部署流程。整个过程分为:环境准备、软件安装配置、WordPress 安装与初始化。
第一阶段:系统准备与安全加固
在开始安装软件前,建议先更新系统并开放必要的端口。
-
登录服务器
ssh root@你的服务器IP -
更新系统包
yum update -y # 如果是 CentOS 8/Stream,可能需要启用 EPEL 源 yum install epel-release -y -
安装防火墙工具 (firewalld) 并放行端口
WordPress 需要 HTTP (80) 和 HTTPS (443) 端口,数据库通常不需要对外暴露。firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reload
第二阶段:安装 LNMP 核心组件
我们将使用 yum 安装 Nginx、MariaDB 和 PHP。
1. 安装 Nginx
yum install nginx -y
systemctl start nginx
systemctl enable nginx
# 验证 Nginx 状态
systemctl status nginx
2. 安装 MariaDB (MySQL 的开源替代品)
yum install mariadb-server mariadb -y
systemctl start mariadb
systemctl enable mariadb
# 运行安全初始化脚本
mysql_secure_installation
# 按提示操作:
# - 设置 root 密码 (务必记住)
# - Y (删除匿名用户)
# - Y (禁止 root 远程登录)
# - Y (删除测试数据库)
# - Y (重载权限表)
3. 安装 PHP 及扩展
CentOS 默认源中的 PHP 版本可能较旧,建议使用 Remi 源来获取较新的 PHP 版本(推荐 PHP 7.4 或 8.x)。
# 安装 Remi 源
yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
yum module reset php -y
yum module enable php:remi-8.1 -y # 这里选择 remi-8.1 代表 PHP 8.1,可根据需求调整
# 安装 PHP 核心及常用扩展
yum install php-fpm php-mysqlnd php-gd php-mbstring php-xml php-intl php-bcmath php-json -y
# 启动 PHP-FPM
systemctl start php-fpm
systemctl enable php-fpm
第三阶段:创建 WordPress 数据库
登录 MySQL 命令行进行数据库配置:
mysql -u root -p
进入后执行以下 SQL 语句(请将 wp_password 替换为你自己设置的强密码):
-- 创建数据库
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建用户并授权
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'wp_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
EXIT;
第四阶段:下载并配置 WordPress
1. 下载 WordPress
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
rm latest.tar.gz
mv wordpress/* .
rmdir wordpress
chown -R nginx:nginx .
chmod -R 755 .
注:如果 /var/www/html 目录下的文件属于 root,需确保 Nginx 有权限读取。通常 Nginx 运行用户为 nginx。
2. 生成 wp-config.php
WordPress 需要一个配置文件来连接数据库。我们可以复制模板文件并修改:
cp wp-config-sample.php wp-config.php
nano wp-config.php
找到以下行并进行修改(Ctrl+O 保存,Ctrl+X 退出):
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'wp_password' ); // 填入上面设置的密码
define( 'DB_HOST', 'localhost' );
3. 配置 Nginx 虚拟主机
我们需要告诉 Nginx 如何访问 WordPress。
创建配置文件:
nano /etc/nginx/conf.d/wordpress.conf
粘贴以下内容(将 your_domain.com 替换为你的域名或服务器 IP):
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或 IP
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock; # 注意 socket 路径,不同版本可能不同
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;
}
}
注意:如果 PHP-FPM 监听的是 TCP 端口而非 Socket,请将 fastcgi_pass 改为 127.0.0.1:9000。
重启 Nginx 使配置生效:
nginx -t
systemctl restart nginx
第五阶段:完成 WordPress 安装
现在打开浏览器,访问你的服务器 IP 或域名:
- 你会看到 WordPress 的安装向导界面。
- 选择语言(中文)。
- 填写站点标题、用户名、密码、邮箱等信息。
- 点击“安装 WordPress”。
- 登录后,即可开始管理你的博客。
第六阶段:重要后续优化(SSL 证书)
为了安全起见,强烈建议安装 SSL 证书开启 HTTPS。最简单的方法是使用 Certbot (Let’s Encrypt)。
-
安装 Certbot 插件
yum install certbot python3-certbot-nginx -y -
获取证书
certbot --nginx -d your_domain.com系统会自动修改 Nginx 配置并重载,强制跳转到 HTTPS。
-
自动续费
Certbot 已默认添加定时任务,无需手动干预。
常见问题排查
- 502 Bad Gateway: 通常是 PHP-FPM 未启动,或者 Nginx 配置的
fastcgi_pass地址不对(Socket 路径错误或端口不匹配)。检查systemctl status php-fpm。 - 无法上传图片: 检查
/var/www/html目录权限,确保nginx用户有写入权限 (chown -R nginx:nginx /var/www/html)。 - 数据库连接失败: 再次确认
wp-config.php中的密码是否正确,以及 MariaDB 服务是否正在运行。
按照以上步骤,你就可以在 CentOS 云服务器上成功搭建一个功能完善的 WordPress 网站了。
PHPWP博客