📌 前期准备(简单版)
1. 购买阿里云轻量应用服务器
- 访问阿里云官网,搜索”轻量应用服务器”
- 选择配置:2核2G(足够运行 WordPress)
- 选择系统:Alibaba Cloud Linux 3(我们用的就是这个)
- 设置密码(记住这个密码,后面要用)
- 购买成功后,在控制台能看到服务器的公网 IP
2. 购买域名并解析(可选)
- 在阿里云购买域名
- 在域名控制台添加解析,记录值填服务器的公网 IP
- 等待解析生效(一般几分钟到几小时)
🚀 正式开始:服务器环境搭建
第一步:登录服务器
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
🌐 网页端安装
第八步:浏览器完成安装
- 打开浏览器,访问
http://你的服务器IP - 选择语言:简体中文
- 填写网站信息:
- 站点标题:你的网站名字
- 用户名:管理员用户名(比如 admin)
- 密码:设置一个强密码
- 邮箱:你的邮箱
- 点击”安装 WordPress”
- 安装成功后,登录后台
🔧 后续问题修复(我们的试错过程)
问题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 |