云服务器安装CentOS后怎么部署WordPress?

在云服务器上部署 WordPress 是一个经典且实用的操作。由于你使用的是 CentOS(通常是 7 或 8/Stream),最主流、稳定且易于维护的方式是搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境,或者使用更简单的 LAMP(Apache)环境。

下面我将以目前企业级最常用的 LNMP 架构 为例,提供一套基于 Nginx + MariaDB + PHP-FPM 的完整部署流程。整个过程分为:环境准备、软件安装配置、WordPress 安装与初始化。


第一阶段:系统准备与安全加固

在开始安装软件前,建议先更新系统并开放必要的端口。

  1. 登录服务器

    ssh root@你的服务器IP
  2. 更新系统包

    yum update -y
    # 如果是 CentOS 8/Stream,可能需要启用 EPEL 源
    yum install epel-release -y
  3. 安装防火墙工具 (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 或域名:

  1. 你会看到 WordPress 的安装向导界面。
  2. 选择语言(中文)。
  3. 填写站点标题、用户名、密码、邮箱等信息。
  4. 点击“安装 WordPress”。
  5. 登录后,即可开始管理你的博客。

第六阶段:重要后续优化(SSL 证书)

为了安全起见,强烈建议安装 SSL 证书开启 HTTPS。最简单的方法是使用 Certbot (Let’s Encrypt)。

  1. 安装 Certbot 插件

    yum install certbot python3-certbot-nginx -y
  2. 获取证书

    certbot --nginx -d your_domain.com

    系统会自动修改 Nginx 配置并重载,强制跳转到 HTTPS。

  3. 自动续费
    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 网站了。