guozhiwei 发表于 2022-11-30 09:10:48

懂得:如何把 WordPress 网站迁移到新主机|Linux 中国


  导读:使用这个简单的方法来迁移一个网站以及管理防火墙配置。搬迁https://www.openeuler.org/zh/openEuler 是一个开源、免费的 Linux 发行版平台,将通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系。同时,openEuler 也是一个创新的平台,鼓励任何人在该平台上提出新想法、开拓新思路、实践新方案。
https://www.openeuler.org/assets/logo.c7c57318.svg

  本文字数:7938,阅读时长大约:9分钟

  https://linux.cn/article-14371-1.html

  作者:David Both

  译者:Xiaobin.Liu

  你有过把一个 WordPress 网站迁移到一台新主机上的需求吗?我曾经迁移过好多次,迁移过程相当简单。当然,的的市场时候我都不会用通用的推荐方法,这次也不例外 —— 我用更简单的方法,这才是我推荐的方法。

  这个迁移方法没有破坏性,因此如果出于某些原因你需要还原到原来的服务器上,很容易可以实现。

  一个 WordPress 网站的组成部分

  运行一个基于WordPresswordpress.org的网站有三个重要组成部分:WordPress 本身,一个 web 服务器,如Apacheopensource.com(我正在用),以及MariaDBmariadb.org。MariaDB 是 MySQL 的一个分支,功能相似。

  业界有大量的 Web 服务器,由于我使用了 Apache 很长时间,因此我推荐用 Apache。你可能需要把 Apache 的配置方法改成你用的 Web 服务器的方法。

  初始配置

  我使用一台 Linux 主机作为防火墙和网络路由。在我的网络中 Web 服务器是另一台主机。我的内部网络使用的是 C 类私有网络地址范围,按无类别域间路由opensource.com(Classless Internet Domain Routing)(CIDR)方式简单地记作 192.168.0.0/24。

  我使用命名虚拟主机(named virtual host)来配置原来的 Apache Web 服务器,因为我在这个 HTTPD 实例上运行着多个网站。使用命名虚拟主机配置是个不错的方法,因为(像我一样)未来你可能会在运行其他的网站,这个方法可以使其变得容易。

  中需要迁移的虚拟主机的网站相关部分请参考下面代码。这个片段中不涉及到 IP 地址的修改,因此在新服务器上使用时不需要修改。

  在迁移之前,你需要在的最顶端附近找到声明并修改成类似下面这样。这个地址是服务器的真实私有 IP 地址,不是公开 IP 地址。

  你需要修改新主机上的 IP 地址。

  前期工作

  准备工作分为以下三步:

  ? 安装服务

  ? 配置防火墙

  ? 配置 web 服务器

  安装 Apache 和 MariaDB

  如果你的新服务器上还没有 Apache 和 MariaDB,那么就安装它们。WordPress 的安装不是必要的。

  新服务器防火墙配置

  确认下新服务器上的防火墙允许访问 80 端口。你_每台_电脑上都有一个防火墙,对吗?大部分现代发行版使用的初始化配置包含的防火墙会阻止所有进来的网络流量,以此来提高安全等级。

  下面片段的第一行内容可能已经在你的 IPTables 或其他基于防火墙的网络过滤器中存在了。它标识已经被识别为来自可接受来源的入站包,并绕过后面的其它 INPUT 过滤规则,这样可以节省时间和 CPU 周期。片段中最后一行标识并放行 80 端口新进来的请求到 HTTPD 的连接。

  下面的示例文件是 IPTables 最少规则的例子,可以允许 SSH(端口 22)和 HTTPD(端口 80)连接。

  在新服务器主机上我需要做的就是在文件的防火墙规则里添加上面片段的最后一行,然后重新加载修改后的规则集。

  大部分基于红帽的发行版本,如 Fedora,使用的是 。我发现对于它的适用场景(如家用、小到中型企业)而言,它过于复杂,因此我不用它。我建议你参照firewalld 网页firewalld.org来向添加入站端口 80。

  你的防火墙及其配置可能跟这个有些差异,但最终的目的是允许新 Web 服务器 80 端口接收 HTTPD 连接。

  HTTPD 配置

  在文件中配置 HTTPD。像下面一样在片段中设置 IP 地址。我的新 Web 服务器 IP 地址是 。

  复制(对应要迁移的网站的)片段,粘贴到新服务器上文件的末尾。

  迁移过程

  只有两组数据需要迁移到新服务器 —— 数据库本身和网站目录结构。把两个目录打包成文档。

  把两个 tar 文件复制到新服务器。我通常会把这类文件放到下,这个目录就是用来做这种事的。在新服务器上运行下面的命令,把 tar 文档解压到正确的目录。

  WordPress 的所有文件都在下,因此不需要在新服务器上安装它。新服务器上不需要执行 WordPress 安装过程。

  这个目录就是需要迁移到新服务器上的全部内容。

  最后一步是启动(或重启) 和服务守护进程。WrodPress 不是一个服务,因此不使用守护进程的方式来启动。

  启动之后,你应该检查下这些服务的状态。

  最终的修改

  现在所需的服务都已经运行了,你可以把文件中 HTTDP 的防火墙规则改成下面的样子:

  然后重新加载设置的 IPTables 规则。

  由于防火墙规则是在防火墙主机上,因此不需要把外部 DNS 入口改成指向新服务器。如果你使用的是内部 DNS 服务器,那么你需要把 IP 地址改成内部 DNS 数据库里的 A 记录。如果你没有用内部 DNS 服务器,那么请确保主机文件里新服务器地址设置得没有问题。

  测试和清理

  请确保对新配置进行测试。首先,停止旧服务器上的和服务。然后通过浏览器访问网站。如果一切符合预期,那么你可以关掉旧服务器上的和 。如果有失败,你可以把 IPTables 的路由规则改回去到旧服务器上,直到问题解决。

  之后我把 MySQL 和 HTTPD 从旧服务器上删除了,这样来确保它们不会意外地被启动。

  总结

  就是这么简单。不需要执行数据库导出和导入的过程,因为目录下所有需要的东西都已经复制过去了。需要执行导出/导入过程的场景是:有网站自己的数据库之外的数据库;MariaDB 实例上还有其他网站,而你不想把这些网站复制到新服务器上。

  迁移旧服务器上的其他网站也很容易。其他网站依赖的所有数据库都已经随着 MariaDB 的迁移被转移到了新服务器上。你只需要把目录迁移到新服务器,添加合适的虚拟主机片段,然后重启 HTTPD。

  我遵循这个过程把很多个网站从一个服务器迁移到另一个服务器,每次都没有问题。

  via:https://opensource.com/article/21/9/migrate-wordpress

  作者:David Both选题:lujun9972译者:lxbwolf校对:wxy

  本文由LCTT原创编译,Linux中国荣誉推出

  欢迎遵照 CC-BY-SA 协议规定转载,

  如需转载,请在文章下留言 “转载:公众号名称”,

  我们将为您添加白名单,授权“转载文章时可以修改”。

钻石翘翘 发表于 2023-1-1 06:05:33

帮你顶下哈!!

苦浪漫 发表于 2023-1-9 20:29:48

我是来刷分的,嘿嘿

阿修 发表于 2023-1-17 14:07:37

路过,学习下

小林奇杰 发表于 2023-1-23 22:08:51

帮帮顶顶!!

樱桃小犊子 发表于 2023-1-28 22:15:29

不知该说些什么。。。。。。就是谢谢

累累累 发表于 2023-2-1 01:46:56

不知该说些什么。。。。。。就是谢谢
页: [1]
查看完整版本: 懂得:如何把 WordPress 网站迁移到新主机|Linux 中国