如何手动将 WordPress 网站从本地迁移到服务器

WordPress 开发人员通常会在本地主机上创建网站,这里的本地主机指的是个人电脑或本地服务器。在本地开发网站,比在服务器实时开发有很多优势,待网站总体上开发测试完成后,再将其迁移到云服务器,这样可以避免用户发现很多问题。

另外,使用插件是最简单的迁移解决方案,但它们可能会导致一些问题,尤其是当您的网站内容很多,或本地环境和服务器环境存在差异时。因此,在某些情况下,手动迁移仍然是最佳选择。

localhost 上开发网站的 5 个理由

如果从本地迁移服务器,既耗时又容易出错,为什么不在服务器上从头开始开发呢?

在本地开发 WordPress 有以下一些优点:

  1. 效率更高。在本地开发 WordPress 网站效率更高,因为无需将文件上传到实时服务器。
  2. 更加安全。在本地进行测试或更新,可以检查错误和兼容性。在本地进行开发,插件或主题中的漏洞,不会受到黑客攻击。
  3. 无需联网。可以随时随地开展工作。即使乘坐飞机等没有网络的地方,也不会影响开发工作 。
  4. 节省服务器资源。在本地所做的任何事情,都不会影响实时服务器。
  5. 成本降低。根据网站类型的不同,开发可能需要数周或数月的时间。我们可以等待网站开发完毕,然后再购买云服务器,这样可以节约不少成本。

用于本地的 WordPress 开发工具

有很多用于本地部署 WordPress 的开发工具,这些工具包含运行 WordPress 所需的组件,比如 Apache、MySQL和 PHP 等等。

我们在下面的列表中,介绍一些比较常用的本地开发工具。

本地PHP服务器价格平台最近更新时间
AMPPS免费Windows、Linux、Mac2022 年 1 月 18 日
Laragon免费Windows2022 年 1 月 21 日
XAMPP免费Windows、Linux、Mac2022 年 1 月 29 日
WampServerWindows2021 年 8 月 13 日
Fenix Web Server免费2021 年 11 月 11 日

将 WordPress 网站从本地主机迁移到服务器

有很多方法可以将WordPress从本地主机移动到服务器,包括手动迁移和使用插件迁移,本文介绍如何手动将 WordPress 网站从本地迁移到服务器。

迁移 WordPress 的过程,可能会因操作系统、本地开发环境、服务器环境和使用的插件而异,但这些步骤大致是相似的。

迁移准备

无论您使用的是哪种迁移方法,都需要设置几个关键点和准备信息。

  • 主机或虚拟主机。如果流量不大,初期可以使用虚拟主机,随着网站内容的增多和网站流量的增大,后期可以更换为云服务器。
  • 域名解析到服务器。域名解析的过程非常简单,很多云服务商提供一键解析的功能。如果实在不懂,那就百度一下,非常简单的。
  • 登录到主机控制面板的详细信息。这通常与您的主机帐户的登录信息相同。如有疑问,请联系您的托管服务提供商。
  • 服务器的安全文件传输协议 (SFTP) 所需信息。包括 IP 地址、登录用户、登录密码和端口号等信息。

还需要一个 SFTP 应用来将文件从本地传输到服务器。下面列出一些常见且免费的 SFTP 工具。

应用系统免费或付费
WinSCPWindows免费
FileZillaWindows、Mac、Linux免费
CyberduckWindows、Mac免费
XftpWindows个人家庭用户免费

尽管本教程使用的是 Filezilla,但大多数 SFTP 客户端的工作方式是基本相同的。

手动将 WordPress 网站从本地迁移到服务器

步骤1:本地网站备份

手动将网站从 localhost 迁移到服务器很容易出错,在开始迁移之前以及在每个阶段都要进行备份,以防出现问题。

步骤2:将文件从本地主机复制到服务器

第 1 步:使用 SFTP 客户端连接到网站服务器。以 FileZilla 为例,需要输入主机 IP、用户名、用户密码和端口号。

第 2 步:打开本地计算机上的 WordPress 目录。在大多数 SFTP 软件中,本地文件目录显示在左侧窗格中,服务器文件目录显示在右侧窗格中。

FileZilla 连接服务器
FileZilla 连接服务器

第 3 步:转到服务器上的网站根目录。网站根目录通常是名为“public_html”或“www”的文件夹,如果使用的是主机,那么 应该是自己配置的,应该知道哪里是根目录。

右侧打开服务器网站根目录
右侧打开服务器网站根目录

第 4 步:在左侧窗格中选择所有本地文件,然后将它们拖放到右侧窗格中的服务器网站目录。这可能需要一些时间,可以在 SFTP 应用程序中看到进度信息。

将本地Wordpress所有文件拖到右侧服务器
将本地Wordpress所有文件拖到右侧服务器

步骤3:从本地数据库导入数据到服务器数据库

在将全部 WordPress 文件从本地服务器迁移到服务器后,还需要连接到数据库服务器。如果现在通过浏览器访问域名,可能会看到“建立数据库连接出错”的提示。这告诉我们两件事:

  1. WordPress 文件已上传。
  2. 网站还需要连接到数据库。

从本地主机导出数据库

WordPress 要正常运行必须要使用数据库,数据库存储着网站的所有数据(如文章、网站设置和网站元标签等)。

多数的本地 WordPress 环境都会有 phpMyAdmin,可以通过它导出数据库。

打开 phpMyAdmin:

  1. 选择对应的数据库。
  2. 单击“导出”选项卡。
  3. 选择“快速”导出方法,选择“SQL”文件类型,然后单击“Go”。

从管理员:

  1. 选择一个数据库。
  2. 单击菜单中的“导出”。
  3. 选择“SQL”作为输出,然后单击“导出”。

这会将 .sql 文件下载到本地计算机上。记下存储位置,因为它需要从 Web 服务器中获取。

在服务器上创建数据库

要上传本地数据库数据,必须先在服务器上创建一个新的数据库。如果您使用的是 Linux 系统,可以按照牛奇网下面的文章进行操作。文章中详细的介绍了在 Linux 系统上,如何创建数据库、如何创建用户及进行常规的 MySQL 管理。

在已经成功创建了新数据库后,就可以导入本地数据库数据了。

编辑 wp-config.php 文件

wp-config.php 文件是 WordPress 的核心文件,其中包含连接数据库的重要信息。WordPress 使用该文件连接数据库以检索和存储信息。按照下面的步骤操作,设置数据库连接信息。

第 1 步:从本地主机复制 wp-config.php 配置文件,然后使用 VS Code 或 Notepad++ 等文本编辑器对其进行编辑。

第 2 步:找到配置文件的 MySQL 部分,将 localhost 的数据库详细信息,替换为刚刚创建的服务器数据库详细信息。包括数据库名称、用户名称、用户密码等。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'yournewdatabasename');

/** MySQL database username */
define( 'DB_USER', 'yournewdatabaseuser');

/** MySQL database password */
define( 'DB_PASSWORD', 'yournewdatabasepassword');

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

在将网站迁移到服务器后,’DB_HOST’通常仍然是“localhost”,但在某些服务器上可能会发生更改。

有的时候 wp-config.php 文件可能还包含以下行:

define(‘WP_SITEURL’, ‘http://localhost.test’);
define(‘WP_HOME’, ‘http://localhost.test’);

如果有这些行,需要将它们更改为自己的域名(例如 https://yourdomain.com)。

第 3 步:保存此文件,并使用 SFTP 客户端,通过拖放覆盖服务器的同名配置文件。

上传wp-config.php文件
上传wp-config.php文件

获取数据

现在已经有了一个新的数据库,并配置 wp-config.php 文件使用该数据库,可以导入之前本地网站的数据了。

访问 Web 服务器上的 phpMyAdmin。如果使用了宝塔面板或者 cPanel ,可以直接从面板中打开 phpMyAdmin。如果没有,可以按照下面文章的步骤,安装 phpMyAdmin 。

打开 phpmyadmin 后,可以按照下面的步骤导入数据库文件:

  1. 选择新创建的数据库,然后单击“导入”选项卡。
  2. 单击“选择文件”并浏览到先前导出的 sql 文件。
  3. 单击“开始”开始导入过程。这可能需要一些时间,具体取决于数据库的大小。完成后,您应该可以在左侧看到所有数据库表,如 wp_posts、wp_postmeta 和 wp_options 等。

更改数据库中的网站 URL

现在我们已经导入了数据,还需要确保数据库中使用网站URL,而不是本地主机上的URL。可以按照下面的步骤进行操作:

1. 打开 phpMyAdmin 并选择您的数据库。

2. 单击 wp_options 选项表。

单击 wp_options 选项表
单击 wp_options 选项表

3. 打开它后,应该会看到前两个选项。在“option_name”列下看到“siteurl”和“home”。

4. 双击“option_values”列下的选项值,并将两者都更改为实际网站 URL。URL 后没有包含斜杠 “/ ” 。

双击“option_values”列下的选项值
双击“option_values”列下的选项值

5. 打开浏览器访问网站管理后台 https://yourwebsite.com/wp-admin/ ,然后登录 WordPress 仪表盘。

步骤4:刷新固定链接

固定链接是指网站上,页面和文章等的永久链接结构。要先刷新固定链接,文章和页面 URL 才能在服务器的网站上使用。可以按照以下步骤进行操作:

  1. 登录 WordPress 的仪表盘。
  2. 转到设置>固定链接。
  3. 单击“保存更改”。

步骤 5:在数据库中搜索并替换 localhost 的 URL

网站在本地时的 URL,可能存储在数据库中的某个位置,这些链接是无法访问的。我们可以通过两种方式进行搜索和替换:

  1. 使用 SQL 查询。
  2. 使用插件。

在对数据库执行任何操作之前,都应该先创建备份。

使用 SQL 查询进行搜索和替换

可以按照下面的步骤进行操作:

1. 登录 phpMyAdmin,选择网站数据库,并单击“SQL”选项卡。

2. 将以下SQL查询语句复制并粘贴到 SQL 查询字段中。

UPDATE wp_posts SET post_content = replace(post_content, 'oldsiteurl.com', 'newsiteurl.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value,'oldsiteurl.com','newsiteurl.com');

注意:上面的查询语句中,’wp_posts’ 和 ‘wp_postmeta’ 名称可能会不同,取决于在安装 WordPress 设置的数据库前缀。另外,需要将 oldsiteurl 和 newsiteurl 根据实际情况更改。

点击模拟查询按钮
点击模拟查询按钮

将修改变量后的查询语句输入查询框中,然后可以先执行“模拟查询”。“模拟查询”是测试执行时有多少值发生变化。如果此时有任何错误,需要再次检查相关的值。

显示模拟查询结果
显示模拟查询结果

运行模拟查询会显示“匹配的行”数量,如果此值为 0,则可能使用的 URL 错误或没有替换。如果 URL 正确,但没有匹配的行,也是无需更改的。

3. 当模拟查询显示了匹配的行数,那么关闭“模拟查询”对话框,并单击“开始”运行实际的 SQL 查询。替换完成后就可以正常地访问网站了。

使用插件搜索和替换

如果以前从未使用过 SQL,也不想尝试使用的话。可以使用 Better Search Replace 插件来替换。

登录 WordPress 网站仪表盘:

第 1 步:转到插件>添加新插件。

第 2 步:搜索“Better Search Replace”。

第 3 步:选择 Better Search Replace 插件,并单击“立即安装”。

第 4 步:安装完成后,点击“激活”。

第 5 步:重新返回 WordPress 仪表盘,转到工具 > Better Search Replace。

第 6 步:在“搜索”字段中填写本地主机 URL(例如 http://localhost)。

第 7 步:在“替换”字段填写实际的 URL (例如 https://yourwordpresswebsite.org)。

第 8 步:选择要搜索和替换的数据库表。通常只需选择 wp_posts 和 wp_postmeta 两个表。

第 9 步:不用选中“区分大小写”和“替换 GUID”。

第 10 步:选中“您要作为测试运行吗?”

第 11 步:单击“运行搜索/替换”。测试运行只是进行模拟,但能看到是否有匹配的行。

第 12 步:确认更改。此时,您应该会看到许多变化。如果没有,您可能需要仔细检查 URL。如果 URL 正确并且仍然没有更改,则无需继续,您可以删除插件。

第 13 步:如果您有很多要更改的内容,请取消选中“您要作为测试运行吗?” 选择一个选项并单击“运行搜索/替换”。

第 14 步:禁用并卸载 Better Search Replace。在验证网站工作正常后,可以禁用并卸载该插件。

作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/wordpress/migrate-wordpress-from-localhost-to-server/

(0)
上一篇 2022年1月29日 下午7:55
下一篇 2022年1月31日 下午1:05

相关推荐

发表评论

登录后才能评论