WordPress 完整搭建指南(从零到成功)

📌 前期准备(简单版)

1. 购买阿里云轻量应用服务器

  1. 访问阿里云官网,搜索”轻量应用服务器”
  2. 选择配置:2核2G(足够运行 WordPress)
  3. 选择系统:Alibaba Cloud Linux 3(我们用的就是这个)
  4. 设置密码(记住这个密码,后面要用)
  5. 购买成功后,在控制台能看到服务器的公网 IP

2. 购买域名并解析(可选)

  1. 在阿里云购买域名
  2. 在域名控制台添加解析,记录值填服务器的公网 IP
  3. 等待解析生效(一般几分钟到几小时)

🚀 正式开始:服务器环境搭建

第一步:登录服务器

bash

# 在本地电脑打开终端(Mac/Linux)或使用 XShell(Windows)
# 登录命令格式:
ssh admin@你的服务器IP

# 例如:
ssh admin@47.94.198.118
# 输入之前设置的密码

第二步:安装 LNMP 环境(Linux + Nginx + MySQL + PHP)

bash

# 1. 更新系统软件包
# dnf 是 Alibaba Cloud Linux 的包管理器,类似 yum
sudo dnf update -y

# 2. 安装 Nginx(Web服务器)
sudo dnf install -y nginx

# 3. 启动 Nginx 并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx

# 4. 安装 MariaDB(数据库)
sudo dnf install -y mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb

# 5. 设置数据库密码(按提示操作)
sudo mysql_secure_installation
# 根据提示:
# - 输入当前密码(直接回车,因为没设置过)
# - 设置新密码(输入你要设置的数据库密码,记住它)
# - 其他选项都按 Y 确认

# 6. 安装 PHP 7.4(WordPress 需要的)
sudo dnf install -y php php-fpm php-mysqlnd php-xml php-curl php-gd php-mbstring php-zip php-opcache php-redis

# 7. 启动 PHP-FPM 并设置开机自启
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

第三步:修改 PHP-FPM 和 Nginx 用户一致(关键!)

bash

# 1. 查看当前 PHP-FPM 运行的用户(默认是 apache)
grep -E '^user|^group' /etc/php-fpm.d/www.conf
# 输出应该是:user = apache, group = apache

# 2. 查看 Nginx 运行的用户(默认是 nginx)
grep -E '^user' /etc/nginx/nginx.conf
# 输出应该是:user nginx;

# 3. 修改 PHP-FPM 配置文件,让它的用户和 Nginx 一致
# sed 是文本替换命令,s/旧内容/新内容/g 表示全局替换
sudo sed -i 's/^user = apache/user = nginx/' /etc/php-fpm.d/www.conf
sudo sed -i 's/^group = apache/group = nginx/' /etc/php-fpm.d/www.conf

# 4. 验证修改是否成功
grep -E '^user|^group' /etc/php-fpm.d/www.conf
# 现在应该显示:user = nginx, group = nginx

# 5. 重启 PHP-FPM 让配置生效
sudo systemctl restart php-fpm

第四步:创建网站目录和数据库

bash

# 1. 创建网站根目录(默认就是 /usr/share/nginx/html/)
# 这个目录已经存在,我们只需要设置权限

# 2. 设置目录所有权给 nginx 用户
# -R 参数表示递归,把目录下所有文件都修改
sudo chown -R nginx:nginx /usr/share/nginx/html

# 3. 设置正确的目录权限
# find 是查找命令,-type d 查找目录,-exec 执行后续命令
# {} 表示找到的文件,\; 是命令结束符
sudo find /usr/share/nginx/html -type d -exec chmod 755 {} \;
sudo find /usr/share/nginx/html -type f -exec chmod 644 {} \;

# 4. 创建 WordPress 数据库
# 登录 MySQL,-u root 用root用户,-p 需要输入密码
mysql -u root -p
# 输入刚才设置的数据库密码

# 进入 MySQL 后,执行以下 SQL 语句(每行都要执行,分号不能少)
CREATE DATABASE wordpress;
# 输出应该是:Query OK, 1 row affected

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '你的密码';
# 把 '你的密码' 换成你想设置的数据库用户名密码,比如 'wp123456'

GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
# 给用户授权

FLUSH PRIVILEGES;
# 刷新权限

EXIT;
# 退出 MySQL

📥 安装 WordPress

第五步:下载并配置 WordPress

bash

# 1. 进入网站目录
cd /usr/share/nginx/html

# 2. 下载最新版 WordPress(中文版)
# wget 是下载命令,-O 指定保存的文件名
sudo wget -O wordpress.zip https://cn.wordpress.org/latest-zh_CN.zip

# 3. 安装 unzip 解压工具
sudo dnf install -y unzip

# 4. 解压 WordPress
sudo unzip wordpress.zip

# 5. 把解压出来的文件移动到当前目录
# -r 递归复制,-f 强制覆盖
sudo cp -rf wordpress/* .
sudo cp -rf wordpress/. .

# 6. 删除临时文件
sudo rm -rf wordpress wordpress.zip

# 7. 再次确认所有权
sudo chown -R nginx:nginx /usr/share/nginx/html

第六步:配置 WordPress

bash

# 1. 创建 wp-config.php 文件
# 先复制示例文件
sudo cp wp-config-sample.php wp-config.php

# 2. 编辑配置文件
sudo vi wp-config.php

在 vi 编辑器中(按 i 进入编辑模式):

php

// 找到这几行,修改数据库信息
define( 'DB_NAME', 'wordpress' );           // 数据库名
define( 'DB_USER', 'wpuser' );              // 数据库用户名
define( 'DB_PASSWORD', '你的密码' );        // 数据库密码
define( 'DB_HOST', 'localhost' );           // 数据库主机

// 在 /* That's all, stop editing! */ 这一行之前,添加:
define('FS_METHOD', 'direct');              // 允许直接写入文件

// 按 ESC 退出编辑模式,输入 :wq 保存退出

第七步:配置 Nginx

bash

# 1. 创建 Nginx 配置文件
sudo vi /etc/nginx/conf.d/wordpress.conf

按 i 进入编辑模式,粘贴以下内容:

nginx

server {
    listen 80;
    server_name _;  # 如果有域名,换成你的域名
    
    root /usr/share/nginx/html;
    index index.php index.html index.htm;
    
    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;
    }
}

按 ESC,输入 :wq 保存退出。

bash

# 2. 测试 Nginx 配置是否正确
sudo nginx -t
# 应该显示:syntax is ok 和 test is successful

# 3. 重启 Nginx
sudo systemctl restart nginx

🌐 网页端安装

第八步:浏览器完成安装

  1. 打开浏览器,访问 http://你的服务器IP
  2. 选择语言:简体中文
  3. 填写网站信息:
    • 站点标题:你的网站名字
    • 用户名:管理员用户名(比如 admin)
    • 密码:设置一个强密码
    • 邮箱:你的邮箱
  4. 点击”安装 WordPress”
  5. 安装成功后,登录后台

🔧 后续问题修复(我们的试错过程)

问题1:安装插件时提示”无法创建目录”

现象:在后台安装插件时,提示”无法创建目录 /usr/share/nginx/html/wp-content/upgrade/…”

解决方案

bash

# 1. 检查 PHP-FPM 和 Nginx 用户是否一致(我们已经改好了)

# 2. 安装缺失的 PHP 扩展
# php-process 包含 posix 扩展,WordPress 需要它来检查权限
sudo dnf install -y php-process

# 3. 手动创建需要的目录
sudo mkdir -p /usr/share/nginx/html/wp-content/upgrade
sudo chown -R nginx:nginx /usr/share/nginx/html/wp-content
sudo chmod 755 /usr/share/nginx/html/wp-content/upgrade

# 4. 重启服务
sudo systemctl restart php-fpm
sudo systemctl restart nginx

问题2:WordPress 提示需要 json 扩展

现象:后台提示”WordPress 6.9.1 requires the json PHP extension”

解决方案

bash

# 安装 json 扩展
sudo dnf install -y php-json
sudo systemctl restart php-fpm

问题3:安装特定插件时一直报目录不存在

现象:安装 WP Dark Mode 时,需要一层层创建目录

解决方案(临时绕过):

bash

# 手动创建插件需要的完整目录结构
sudo mkdir -p /usr/share/nginx/html/wp-content/upgrade/wp-dark-mode.5.3.3/wp-dark-mode/{assets/{css/{plugins},js,images},admin/{css,js},includes,languages}

# 设置权限
sudo chown -R nginx:nginx /usr/share/nginx/html/wp-content/upgrade
sudo find /usr/share/nginx/html/wp-content/upgrade -type d -exec chmod 755 {} \;
sudo chmod -R 775 /usr/share/nginx/html/wp-content/upgrade/wp-dark-mode.5.3.3

问题4:降级 WordPress

现象:怀疑是 WordPress 版本问题,想降级到 6.8.3

解决方案

bash

# 1. 进入网站目录
cd /usr/share/nginx/html

# 2. 备份当前网站(重要)
sudo cp -r /usr/share/nginx/html /usr/share/nginx/html-backup-$(date +%Y%m%d)

# 3. 下载 WordPress 6.8.3
cd /tmp
sudo wget https://cn.wordpress.org/wordpress-6.8.3-zh_CN.zip
sudo unzip wordpress-6.8.3-zh_CN.zip

# 4. 替换核心文件
cd /usr/share/nginx/html
sudo rm -rf wp-admin wp-includes wp-*.php xmlrpc.php
sudo cp -r /tmp/wordpress/wp-admin .
sudo cp -r /tmp/wordpress/wp-includes .
sudo cp /tmp/wordpress/*.php .

# 5. 恢复权限
sudo chown -R nginx:nginx /usr/share/nginx/html

# 6. 清理临时文件
sudo rm -rf /tmp/wordpress*

问题5:安装任何插件都失败

现象:所有插件都装不上,包括 WP Downgrade

根本原因:PHP-FPM 和 Nginx 用户不一致(已修复)

🎯 最终检查清单

bash

# 1. 检查 PHP 版本
php -v
# 应该是 7.4.33

# 2. 检查 PHP 扩展
php -m | grep -E 'posix|json|mysqli|gd|curl|mbstring|zip'
# 应该都显示

# 3. 检查 PHP-FPM 用户
grep -E '^user|^group' /etc/php-fpm.d/www.conf
# 应该是 user = nginx, group = nginx

# 4. 检查 Nginx 用户
grep -E '^user' /etc/nginx/nginx.conf
# 应该是 user nginx;

# 5. 检查目录权限
ls -ld /usr/share/nginx/html
# 应该是 drwxr-xr-x nginx nginx

# 6. 检查 WordPress 版本(在后台查看)
# 工具 → 站点健康 → 信息 → WordPress

📝 常用命令速查表

命令作用
sudo systemctl start nginx启动 Nginx
sudo systemctl restart nginx重启 Nginx
sudo systemctl start php-fpm启动 PHP-FPM
sudo systemctl restart php-fpm重启 PHP-FPM
sudo tail -f /var/log/nginx/error.log实时查看 Nginx 错误日志
sudo tail -f /var/log/php-fpm/www-error.log实时查看 PHP 错误日志
sudo chown -R nginx:nginx /目录修改目录所有者为 nginx
sudo find /目录 -type d -exec chmod 755 {} \;设置所有目录权限为 755
sudo find /目录 -type f -exec chmod 644 {} \;设置所有文件权限为 644

Leave a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注