在阿里云 ECS(Ubuntu 系统)上完成 LNMP(Linux + Nginx + MySQL + PHP)环境搭建后,导入 WordPress 文件的完整流程如下(含权限、配置、安全等关键细节):
✅ 一、前提确认(确保 LNMP 已正常运行)
# 检查服务状态(全部应为 active (running))
sudo systemctl status nginx
sudo systemctl status mysql
sudo systemctl status php8.1-fpm # 或 php8.2-fpm,根据你安装的 PHP 版本调整
# 测试 PHP 是否被 Nginx 正确解析(创建测试页)
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
# 访问 http://你的ECS公网IP/info.php,应显示 PHP 信息页 → ✅ 成功
⚠️ 注意:LNMP 常见组合中,PHP 以 FPM 方式运行,Nginx 通过
fastcgi_pass转发请求,务必确认/etc/nginx/sites-available/default(或你的站点配置)中包含类似:location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 路径需与实际一致 }
✅ 二、下载并解压 WordPress(推荐方式)
方法 1:直接下载官方最新版(推荐,安全可靠)
# 进入 Web 根目录(建议使用网站点目录,而非默认 /var/www/html)
sudo mkdir -p /var/www/your-site.com
cd /var/www/your-site.com
# 下载最新中文版(自动识别语言)或英文版
sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz
# 或英文版:
# sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest-zh_CN.tar.gz --strip-components=1
sudo rm latest-zh_CN.tar.gz
# 设置正确所有权(重要!避免 500 错误或安装失败)
sudo chown -R www-data:www-data /var/www/your-site.com
sudo find /var/www/your-site.com -type d -exec chmod 755 {} ;
sudo find /var/www/your-site.com -type f -exec chmod 644 {} ;
方法 2:上传本地已准备好的 WordPress 文件(如含主题/插件)
- 使用 SFTP 工具(如 FileZilla、WinSCP、Termius)连接 ECS:
- 协议:SFTP
- 主机:你的 ECS 公网 IP
- 用户名:你的 Ubuntu 用户(如
ubuntu) - 端口:22
- 将本地
wordpress/文件夹整体上传至/var/www/your-site.com/ - 上传完成后,在终端执行权限修复:
sudo chown -R www-data:www-data /var/www/your-site.com sudo chmod -R 755 /var/www/your-site.com/{wp-content,wp-admin,wp-includes} sudo chmod 644 /var/www/your-site.com/wp-config.php # 若已存在
✅ 三、配置 Nginx 站点(关键步骤!)
📌 不要直接修改
/etc/nginx/sites-available/default!建议新建独立配置。
# 创建站点配置文件
sudo nano /etc/nginx/sites-available/your-site.com
✅ 粘贴以下标准 WordPress 配置(适配 PHP-FPM + 伪静态):
server {
listen 80;
server_name your-site.com www.your-site.com; # 👉 替换为你的域名(或先用 IP 测试)
root /var/www/your-site.com;
index index.php index.html;
# 防止敏感文件被直接访问
location ~ /.ht {
deny all;
}
location ~ ^/(wp-config.php|readme.html|license.txt) {
deny all;
}
# WordPress 伪静态规则(支持固定链接)
location / {
try_files $uri $uri/ /index.php?$args;
}
# PHP 处理
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 🔁 确认路径与 `php -v` 和 `systemctl status php*-fpm` 一致
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 静态资源缓存(可选优化)
location ~ .(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
✅ 启用站点:
sudo ln -sf /etc/nginx/sites-available/your-site.com /etc/nginx/sites-enabled/
sudo nginx -t # 检查语法(必须显示 success)
sudo systemctl reload nginx
💡 提示:若暂无域名,可先用
server_name _;或直接用 IP 测试(但 WordPress 安装时需填对 URL)。
✅ 四、创建数据库 & 用户(MySQL)
sudo mysql -u root -p
-- 创建数据库(推荐 UTF8MB4 支持 emoji)
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建专用用户(⚠️ 强烈不建议用 root 运行 WordPress)
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPass123!';
-- 授权
GRANT ALL ON wordpress.* TO 'wp_user'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
EXIT;
✅ 记下:数据库名
wordpress、用户名wp_user、密码StrongPass123!—— 安装时需要。
✅ 五、运行 WordPress 安装向导
-
浏览器访问:
http://你的ECS公网IP/或http://your-domain.com/
→ 应看到 WordPress 语言选择页 ✅ -
按向导填写:
- 数据库名:
wordpress - 用户名:
wp_user - 密码:
StrongPass123! - 数据库主机:
localhost(LNMP 同机默认) - 表前缀:保持
wp_(或自定义,如wp2024_)
- 数据库名:
-
点击“提交” → “运行安装” → 填写站点标题、管理员账号密码、邮箱 → 完成!
✅ 六、(强烈建议)后续加固操作
| 项目 | 操作 |
|---|---|
| 🔐 禁用文件编辑 | 在 wp-config.php 末尾添加:define('DISALLOW_FILE_EDIT', true); |
| 📁 保护 wp-config.php | 在 Nginx 配置中已加入 deny all,确保生效 |
| 🔄 设置固定链接 | 登录后台 → 设置 → 固定链接 → 选“文章名” → 保存(会自动生成 .htaccess,但 Nginx 不用,已由 try_files 规则支持) |
| 🛡️ 启用 HTTPS(生产必备) | 使用 Certbot 免费申请 Let’s Encrypt SSL:sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d your-domain.com |
| 🧹 清理安装文件 | 安装成功后删除 /var/www/your-site.com/license.txt, readme.html |
❌ 常见问题速查
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
502 Bad Gateway |
PHP-FPM 未运行 / sock 路径错误 | sudo systemctl restart php8.1-fpm;检查 fastcgi_pass 路径是否匹配 ls /run/php/ |
Error establishing a database connection |
数据库名/用户/密码错;MySQL 未启动;wp-config.php 权限过高 |
检查 sudo mysql -u wp_user -p 是否能登录;确认 wp-config.php 中 DB_HOST 是 localhost(非 127.0.0.1,因 MySQL socket 优先) |
| 白屏 / 500 错误 | 文件权限错误;PHP 扩展缺失(如 mysqlnd, curl, gd, xml) |
sudo chown -R www-data:www-data ...;sudo apt install php-mysql php-curl php-gd php-xml php-xmlrpc php-soap php-intl php-zip |
| 上传附件失败 | wp-content/uploads 权限不足;PHP upload_max_filesize 限制 |
sudo chown -R www-data:www-data wp-content;修改 /etc/php/*/fpm/php.ini:upload_max_filesize = 64Mpost_max_size = 128Mmax_execution_time = 300 → sudo systemctl restart php*-fpm nginx |
如需我帮你:
- ✅ 生成完整的
wp-config.php示例(含安全密钥) - ✅ 编写一键部署脚本(含 LNMP + WP 自动化)
- ✅ 配置阿里云安全组(开放 80/443 端口)
- ✅ 迁移已有 WordPress 到该环境(含数据库导出导入)
欢迎随时告诉我,我可以为你定制输出 👇
祝你建站顺利!🚀
云小栈