
本文档旨在指导您如何手动将一个基于 LEMP 架构的 WordPress 站点迁移到子域名,以便进行测试或开发。我们将使用 WP-CLI 工具来高效地更新数据库中的域名信息,避免手动编辑数据库带来的风险,并确保迁移过程的完整性和准确性。
手动迁移 WordPress 站点到子域名
在开发或测试环境中,将生产环境的 WordPress 站点迁移到子域名是一个常见的需求。手动迁移可以让你更好地控制整个过程,避免插件迁移工具的限制。以下步骤将指导你完成这个迁移过程,并使用 WP-CLI 工具简化数据库的更新。
1. 准备工作
- 创建子域名: 确保你已经创建了子域名,例如 dev.example.com,并将其指向服务器上的一个目录。
- 克隆数据库: 将生产环境的 WordPress 数据库克隆到新的数据库,用于子域名站点。
- 配置 DNS 和 Nginx: 配置 DNS 记录,将子域名指向服务器 IP 地址。配置 Nginx,创建一个新的虚拟主机配置文件,将子域名指向正确的目录,并配置 PHP-FPM。
- 安装 WordPress: 在子域名对应的目录中安装一个全新的 WordPress。这提供了一个干净的环境,后续我们将替换数据库和文件。
2. 复制文件
使用 SSH 连接到服务器,并将生产环境 WordPress 站点的所有文件复制到子域名对应的目录,但 不要复制 wp-config.php 文件。
rsync -avz /var/www/html/example.com/ /var/www/html/dev.example.com/ --exclude 'wp-config.php'
注意: 将 /var/www/html/example.com/ 替换为你的生产环境站点目录,将 /var/www/html/dev.example.com/ 替换为你的子域名站点目录。
3. 配置 wp-config.php
编辑子域名站点目录中的 wp-config.php 文件,更新数据库连接信息,使其指向克隆的数据库。
define( 'DB_NAME', 'your_new_database_name' ); define( 'DB_USER', 'your_new_database_user' ); define( 'DB_PASSWORD', 'your_new_database_password' ); define( 'DB_HOST', 'localhost' );
同时,为了确保 WordPress 能够正确识别子域名,在 wp-config.php 文件中添加以下两行:
define('WP_SITEURL', 'http://dev.example.com');
define('WP_HOME', 'http://dev.example.com');
注意: 将 http://dev.example.com 替换为你的子域名 URL。
4. 使用 WP-CLI 更新数据库
WP-CLI 是一个强大的 WordPress 命令行工具,可以用来执行各种管理任务。如果你的服务器上还没有安装 WP-CLI,请先安装它。
使用 WP-CLI 的 search-replace 命令来更新数据库中的域名信息。首先,替换所有旧域名到新域名:
wp search-replace 'http://example.com' 'http://dev.example.com' --all-tables --precise
然后,替换不带协议头的域名:
wp search-replace 'example.com' 'dev.example.com' --all-tables --precise
–all-tables 参数表示在所有数据库表中进行替换,–precise 参数表示进行精确匹配。
注意: 将 http://example.com 和 example.com 替换为你的生产环境域名,将 http://dev.example.com 和 dev.example.com 替换为你的子域名。
5. 清理缓存 (可选)
如果你的站点使用了缓存插件,例如 WP Super Cache 或 W3 Total Cache,请清理缓存,以确保更改生效。你也可以手动删除缓存文件。
6. 登录并检查
现在,你可以通过子域名 URL 登录到你的 WordPress 站点,并检查一切是否正常工作。
注意事项
- 备份: 在进行任何操作之前,务必备份你的数据库和文件。
- wp-config.php: 确保 wp-config.php 文件中的数据库连接信息和域名设置正确。
- WP-CLI: WP-CLI 是一个强大的工具,但使用不当可能会导致问题。请仔细阅读 WP-CLI 的文档,了解每个命令的含义和用法。
- SSL: 如果你的生产环境站点使用了 SSL,请确保你的子域名也配置了 SSL 证书。
- 插件和主题: 某些插件和主题可能会存储域名信息。如果遇到问题,请检查这些插件和主题的设置。
总结
通过以上步骤,你可以手动将一个 LEMP WordPress 站点迁移到子域名,并使用 WP-CLI 工具简化数据库的更新。这种方法可以让你更好地控制整个过程,避免插件迁移工具的限制,并确保迁移过程的完整性和准确性。记住,在进行任何操作之前,务必备份你的数据库和文件。
以上就是手动迁移 LEMP WordPress 站点到子域名进行测试/开发的详细内容,更多请关注php中文网其它相关文章!