WordPress 开发人员通常会在本地主机上创建网站,这里的本地主机指的是个人电脑或本地服务器。在本地开发网站,比在服务器实时开发有很多优势,待网站总体上开发测试完成后,再将其迁移到云服务器,这样可以避免用户发现很多问题。
另外,使用插件是最简单的迁移解决方案,但它们可能会导致一些问题,尤其是当您的网站内容很多,或本地环境和服务器环境存在差异时。因此,在某些情况下,手动迁移仍然是最佳选择。
在 localhost 上开发网站的 5 个理由
如果从本地迁移服务器,既耗时又容易出错,为什么不在服务器上从头开始开发呢?
在本地开发 WordPress 有以下一些优点:
- 效率更高。在本地开发 WordPress 网站效率更高,因为无需将文件上传到实时服务器。
- 更加安全。在本地进行测试或更新,可以检查错误和兼容性。在本地进行开发,插件或主题中的漏洞,不会受到黑客攻击。
- 无需联网。可以随时随地开展工作。即使乘坐飞机等没有网络的地方,也不会影响开发工作 。
- 节省服务器资源。在本地所做的任何事情,都不会影响实时服务器。
- 成本降低。根据网站类型的不同,开发可能需要数周或数月的时间。我们可以等待网站开发完毕,然后再购买云服务器,这样可以节约不少成本。
用于本地的 WordPress 开发工具
有很多用于本地部署 WordPress 的开发工具,这些工具包含运行 WordPress 所需的组件,比如 Apache、MySQL和 PHP 等等。
我们在下面的列表中,介绍一些比较常用的本地开发工具。
本地PHP服务器 | 价格 | 平台 | 最近更新时间 |
---|---|---|---|
AMPPS | 免费 | Windows、Linux、Mac | 2022 年 1 月 18 日 |
Laragon | 免费 | Windows | 2022 年 1 月 21 日 |
XAMPP | 免费 | Windows、Linux、Mac | 2022 年 1 月 29 日 |
WampServer | – | Windows | 2021 年 8 月 13 日 |
Fenix Web Server | 免费 | – | 2021 年 11 月 11 日 |
将 WordPress 网站从本地主机迁移到服务器
有很多方法可以将WordPress从本地主机移动到服务器,包括手动迁移和使用插件迁移,本文介绍如何手动将 WordPress 网站从本地迁移到服务器。
迁移 WordPress 的过程,可能会因操作系统、本地开发环境、服务器环境和使用的插件而异,但这些步骤大致是相似的。
迁移准备
无论您使用的是哪种迁移方法,都需要设置几个关键点和准备信息。
- 主机或虚拟主机。如果流量不大,初期可以使用虚拟主机,随着网站内容的增多和网站流量的增大,后期可以更换为云服务器。
- 域名解析到服务器。域名解析的过程非常简单,很多云服务商提供一键解析的功能。如果实在不懂,那就百度一下,非常简单的。
- 登录到主机控制面板的详细信息。这通常与您的主机帐户的登录信息相同。如有疑问,请联系您的托管服务提供商。
- 服务器的安全文件传输协议 (SFTP) 所需信息。包括 IP 地址、登录用户、登录密码和端口号等信息。
还需要一个 SFTP 应用来将文件从本地传输到服务器。下面列出一些常见且免费的 SFTP 工具。
应用 | 系统 | 免费或付费 |
WinSCP | Windows | 免费 |
FileZilla | Windows、Mac、Linux | 免费 |
Cyberduck | Windows、Mac | 免费 |
Xftp | Windows | 个人家庭用户免费 |
尽管本教程使用的是 Filezilla,但大多数 SFTP 客户端的工作方式是基本相同的。
手动将 WordPress 网站从本地迁移到服务器
步骤1:本地网站备份
手动将网站从 localhost 迁移到服务器很容易出错,在开始迁移之前以及在每个阶段都要进行备份,以防出现问题。
步骤2:将文件从本地主机复制到服务器
第 1 步:使用 SFTP 客户端连接到网站服务器。以 FileZilla 为例,需要输入主机 IP、用户名、用户密码和端口号。
第 2 步:打开本地计算机上的 WordPress 目录。在大多数 SFTP 软件中,本地文件目录显示在左侧窗格中,服务器文件目录显示在右侧窗格中。
第 3 步:转到服务器上的网站根目录。网站根目录通常是名为“public_html”或“www”的文件夹,如果使用的是主机,那么 应该是自己配置的,应该知道哪里是根目录。
第 4 步:在左侧窗格中选择所有本地文件,然后将它们拖放到右侧窗格中的服务器网站目录。这可能需要一些时间,可以在 SFTP 应用程序中看到进度信息。
步骤3:从本地数据库导入数据到服务器数据库
在将全部 WordPress 文件从本地服务器迁移到服务器后,还需要连接到数据库服务器。如果现在通过浏览器访问域名,可能会看到“建立数据库连接出错”的提示。这告诉我们两件事:
- WordPress 文件已上传。
- 网站还需要连接到数据库。
从本地主机导出数据库
WordPress 要正常运行必须要使用数据库,数据库存储着网站的所有数据(如文章、网站设置和网站元标签等)。
多数的本地 WordPress 环境都会有 phpMyAdmin,可以通过它导出数据库。
打开 phpMyAdmin:
- 选择对应的数据库。
- 单击“导出”选项卡。
- 选择“快速”导出方法,选择“SQL”文件类型,然后单击“Go”。
从管理员:
- 选择一个数据库。
- 单击菜单中的“导出”。
- 选择“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 文件使用该数据库,可以导入之前本地网站的数据了。
访问 Web 服务器上的 phpMyAdmin。如果使用了宝塔面板或者 cPanel ,可以直接从面板中打开 phpMyAdmin。如果没有,可以按照下面文章的步骤,安装 phpMyAdmin 。
打开 phpmyadmin 后,可以按照下面的步骤导入数据库文件:
- 选择新创建的数据库,然后单击“导入”选项卡。
- 单击“选择文件”并浏览到先前导出的 sql 文件。
- 单击“开始”开始导入过程。这可能需要一些时间,具体取决于数据库的大小。完成后,您应该可以在左侧看到所有数据库表,如 wp_posts、wp_postmeta 和 wp_options 等。
更改数据库中的网站 URL
现在我们已经导入了数据,还需要确保数据库中使用网站URL,而不是本地主机上的URL。可以按照下面的步骤进行操作:
1. 打开 phpMyAdmin 并选择您的数据库。
2. 单击 wp_options 选项表。
3. 打开它后,应该会看到前两个选项。在“option_name”列下看到“siteurl”和“home”。
4. 双击“option_values”列下的选项值,并将两者都更改为实际网站 URL。URL 后没有包含斜杠 “/ ” 。
5. 打开浏览器访问网站管理后台 https://yourwebsite.com/wp-admin/ ,然后登录 WordPress 仪表盘。
步骤4:刷新固定链接
固定链接是指网站上,页面和文章等的永久链接结构。要先刷新固定链接,文章和页面 URL 才能在服务器的网站上使用。可以按照以下步骤进行操作:
- 登录 WordPress 的仪表盘。
- 转到设置>固定链接。
- 单击“保存更改”。
步骤 5:在数据库中搜索并替换 localhost 的 URL
网站在本地时的 URL,可能存储在数据库中的某个位置,这些链接是无法访问的。我们可以通过两种方式进行搜索和替换:
- 使用 SQL 查询。
- 使用插件。
在对数据库执行任何操作之前,都应该先创建备份。
使用 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/