如何组建WordPress多站点多网络

导语:WordPress Multisite本身就是一个很棒的工具,它可以让你创建一个WordPress网站的网络,但是你知道可以创建一个多站点网络的网络,也就是网络的网络吗?

多网络允许您拥有几乎无限的多站点网络,所有这些都使用单个WordPress安装和数据库。每个网络可以托管几乎无限的子博客/站点。拿着那个克里斯托弗·诺兰!

拥有多个网络有很大的好处,但也有风险:一方面,您只需一次安装即可集中更新所有网络和博客/站点-所有网络都方便地位于同一位置。另一方面,您只需一次安装即可集中更新所有网络和博客/站点…。将所有东西放在一个地方可能会使您容易受到黑客攻击和其他安全问题的攻击。

尽管各有利弊,但探索多个网络是如何工作的是非常值得的,特别是如果建立一个网络可能对您的开发活动或业务有益的话。因此,在本文中,我将向您介绍如何设置多网络。

在我们开始之前…

在我们深入研究如何建立多网络之前,有几件事值得指出。

首先,在多个网络下运行的每个多站点都是一个完整的多站点。您必须访问您创建的每个网络上的网络管理仪表板,并为每个博客/站点设置相同的网络设置。您的网络共享相同的物理WordPress安装和数据库,但作为独立的多站点网络工作。

其次,为您的多网络制定一个计划是很重要的。您应该始终在系统增长时(或之前)升级系统。事先规划是关键,如果您在需求出现之前进行规划(并进行升级),您的多网络应该会成功。

在某种程度上,您将不得不学习DB分片-这不是火箭科学,但它是一种更核心的任务,超出了本文的范围。您可能需要雇佣DevOp或从DevOp获得帮助,才能计划和实现DB分片。

如果您开始挖掘数据库以进行多站点安装,您将发现所有博客/站点都具有相同的site_id=1,位于以_bllogs结尾的数据库表中。每个博客/站点都有一个惟一的blog_id,但是它们都在相同的site_id=1下。您还会注意到一个以_site结尾的数据库表。在这里,多网络为您创建的每个新的多站点网络写入唯一的site_id。

WordPress的术语在这里有点混乱:SiteID实际上指的是多站点或网络,而BlogID指的是它下面的任何博客/站点。

另一个很酷的功能是:多网络允许您将任何博客/站点从您的任何多站点网络移动到运行在同一多网络安装上的任何其他网络-所有这些都只需最少的后端配置。

我将在本文中指导您完成所有这些操作。

WordPress多网络入门

首先,我们需要一个可以正常工作的WordPress多站点安装。在编写本教程时,我使用了廉价的共享主机,但是如果您计划构建一个真正的多网络,廉价的主机不会起到作用-您的多网络需要能够支持大量的流量和查询,所以您必须在某个时候迁移到一些重要的主机(在您真正需要它之前进行总是更好的!)。

一旦您安装了多站点网络,就可以释放您的多站点网络了!启用它非常简单-幸运的是,WordPress中有一些很棒的插件可以帮助您做到这一点。我选择的是WP Multi Network,由John James Jacoby开发,他是WordPress核心中存在多网络的幕后策划者。约翰在此视频中解释了多网络的工作原理。

好的,那么让我们开始设置多个网络。

WP Multi Network Plugin

1.转到您的多站点网络管理控制面板。

2.在侧边栏中,进入 Plugins > Add New(插件>添加新项)。

3.单击右上角的Search Plugins(搜索插件)字段,然后输入“WP Multi Network”。

4.单击“Install Now(立即安装)”,在插件安装后,单击“Network Activate(网络激活)”。

WP Multi Network Activate

现在,您应该会看到Networks面板是网络管理仪表板中最顶层的菜单,但是为了使多网络完全可用,您需要对wp-config.php文件进行一些进一步的更改。

multisite multi network setup

5.使用您首选的方法编辑WordPress目录中的文件,可以是cPanel、FTP或其他方式,找到以下行:

现在用define('DOMAIN_CURRENT_SITE', yoursite.com);注释掉该行;

当然,yoursite.com是示例文本,在您的情况下应该是您的域名。

祝贺你!。您现在正在运行一个多网络!

登录到您的网络并转到您的网络管理员控制面板。现在,您可以开始在多网络上添加和管理网络(或多站点)。

在多网络上设置域映射。

WP多网络插件管理您为多网络创建的网络。这意味着您可以创建整个网络作为主网络(您首先创建的多站点网络)的子目录。或者,您可以选择为您的多网络下的每个网络(或多站点)设置不同的域,WP多网络插件负责处理这些域。

使用我们的utlimate WordPress多站点域映射指南,您可以将域映射到您的任何网络下的任何子博客/站点。如果您选择将域映射到其他网络或博客/站点,则必须将每个域配置为指向多网络的物理IP或public_html目录。

这是使用您的托管公司提供的域控制面板(通常是cPanel)来完成的。如果您使用cPanel,您将不得不添加您的域作为别名(或驻留的域)或附加域(取决于您的托管计划),并将它们分别指向WordPress安装的同一目录。通常为public_html,但根据您的Web主机设置的不同,可能会有所不同。

cPanel Add On Domain

如果您使用DNS Make Easy或其他DNS工具,则必须为要映射到您的网络的每个域添加一个ANAME记录,指向您的WordPress Multisite安装的相同物理IP。完成此操作并等待DNS更改传播后(这可能需要一些时间),您的域将被重定向到相同的目录(CPanel)或IP(简化DNS)。

我已经注册了两个域,我将在此安装中使用它们。每个域都有一个活动SSL-我们需要每个域都有一个SSL(或覆盖所有域的多域SSL):

  • https://awpmu.cloud/-这将是主(或主)网络。
  • https://lwpmu.cloud/-这将是子(或从)网络。

我将通过以下方式组织我的主网络:

  • 多网络主多站点-AWPMU多网络。
  • 主网络地址-https://awpmu.cloud/。
  • 主多站点-AWPMU网络-主站点(标语)。

接下来,我将以这种方式创建子网络(或多站点):

  • 多网子多站点-LWPMU网络。
  • 子网络地址-https://lwpmu.cloud/。
  • 子多站点-LWPMU网络-主站点(标语)。

我还将在每个MultiSite下创建一个子博客:

  • 主多站点 子博客-https://awpmu.cloud/blog01/-博客01。
  • 子多站点 子博客-https://lwpmu.cloud/blog02/-博客02。

最后,我将把这些子博客从一个网络(或多个站点)移到另一个网络(或多站点),做一些必要的小更改来结束如下内容:

  • 主多站点 子博客-https://awpmu.cloud/blog02/-博客02。
  • 从属多站点 子博客-https://lwpmu.cloud/blog01/-博客01。

创建网络

创建新网络非常简单。下面是你是如何做到这一点的:

1.转到您的多站点网络管理仪表板,然后单击第一个菜单项,即由WP多网络插件创建的网络图标。在左上角,单击Add New(添加新项)。填写必填字段。

AWPMU Add Network

2.输入网络标题。这是您的新多站点的名称。试着用一个让人难忘的名字。

3.输入您在本教程前面步骤中在cPanel或域控制面板中映射的域。如果您不想将另一个域映射到新的多站点,则可以将主域与路径一起使用。

4.输入地点名称,即新的多站点主站点的名称。

5.输入路径。仅当您希望新网络位于原始(主)网络的子目录中,或已映射到相同public_html目录(CPanel)或IP(简化DNS或您使用的其他域控制面板)的任何其他域的子目录中时,才使用此选项。

注意:DNS传播可能需要一些时间,最长可达72小时。我更喜欢使用DNS Made Easy,因为它提供了我能找到的最快的DNS传播。

AWPMU Add Network

6.单击Create(创建)。然后,您将被重定向回网络管理员控制面板中的Networks(网络)页面。

seting up two networks wordpress multi network

您现在可以看到,我们有两个网络(或多站点),每个网络下都有一个默认的自动创建的站点。

7.转到您的PHPMyAdmin(也是cPanel的一部分,不过您对它的访问可能取决于您主机的设置),您会在您的网络数据库中找到一堆新的表。检查以_site结尾的数据库表,您将看到id=2的新Multisite,在以_blogs结尾的数据库表上,您将看到blog_id=2和site_id=2的新站点。

PHPMyAdmin 01 Site

PHPMyAdmin 02 Blogs

8.在我们对新的子/从Multisite执行任何操作之前,让我们首先在原始Multisite(site_id=1,我的Multi Network上的AWPMU Multi Network)下创建一个子博客。在您的主网络管理中转到侧边栏中的站点,然后创建一个新站点。您将在那里看到主要的多网络站点。在我的例子中,我有awpmu.cloud)。

AWPMU Sites 01

创建博客/网站

如果您已经使用过WordPress MultiSite,那么您已经知道创建一个新的博客/站点非常简单,但不管怎样,让我们来看看这些步骤:

1.在网络管理员中,转到“Sites(站点)”>“Add New(添加新项)”,然后输入您想要的新子博客/站点的详细信息。完成后,单击“Add Site(添加站点)”。

AWPMU Add Site

您可以选择创建另一个子博客,但是现在,单击侧边栏中的Sites来检查您的新站点是否在那里。

AWPMU Sites

看上去不错!

您可以访问新博客以检查其是否正常工作,并转到其单独的管理仪表板进行设置。但是现在,让我们再次检查PHPMyAdmin中的多网络数据库,特别是以_blogs结尾的数据库表:

PHPMyAdmin 03 Blogs

您将在那里看到新的子博客/站点:它使用blog_id=3和site_id=1,因为它位于AWPMU Network/Multisite下。转到LWPMU子/从属多站点网络管理仪表板以创建新的子博客/站点。当您第一次登录到您的“子”多站点时,您将被邀请升级您的网络,因此在继续之前请这样做。

重复步骤1,在我们的子/从网络(site_id=2)中创建博客02。

然后转到LWPMU网络管理仪表板中的站点,并验证新的子博客是否在那里。

LWPMU Sites 02

接下来,让我们再来看看PHPMyAdmin。您将注意到几个以2、3和4结尾的新表(对于最近创建的MultiSite和我们创建的子博客/站点(每个网络/MultiSite一个)。新子博客/站点在数据库表中的blog_id=4和site_id=2以_blogs结尾。这意味着它在我们的子/从多站点下,在我的例子中,它被命名为LWPMU网络。

PHPMyAdmin 03 Blogs

将博客/站点从一个网络移动到另一个网络

现在,让我们看一下在整个多网络中的网络之间移动博客/站点。

1.转到您的子/从多站点网络管理控制面板。在我的安装中,它位于https://lwpmu.cloud/wp-admin/network/。

2.点击站点,然后将鼠标悬停在/blog02 Child-blog/上。您将看到移动命令出现在最右侧。点击它。

PHPMyAdmin Blogs

3.单击下拉菜单并选择https://awpmu.cloud/作为此博客/站点的新网络。
PHPMyAdmin 03 Blogs

4.下一步,单击Move(移动)进行移动。

你会看到博客02已经从Sites(网站)页面上消失了。您还可以检查仪表板顶部的消息,确认博客/站点已移动。

6.现在转到您的主/主多站点网络管理控制面板。在我的安装中,它位于https://awpmu.cloud/wp-admin/network/。

7.单击Sites(站点)。您将看到博客02现在就在那里。您还会看到它仍然是https://lwpmu.cloud/blog02,但我们希望它在AWPMU域下。将鼠标悬停在其上,然后单击Edit(编辑)。

PHPMyAdmin 03 Blogs

8.将站点地址(URL)从lwpmu.cloud更改为awpmu.cloud,然后单击保存更改。

multinetwork 26 Move Blog

9.再次单击侧边栏中的Sites(站点)并检查新地址。

Move Blog 08

10.再次打开PHPMyAdmin,找到以_blogs结尾的数据库表。检查blog02的新site_id。这证实了blog01和blog02现在都在AWPMU main/master Multisite下运行,两者的site_id都为1。

multinetwork 28 PHPMyAdmin 05 Blogs

11.重复上述步骤1至9。现在让我们将我们的博客01从AWPMU多网络迁移到LWPMU网络。然后转到子/从多站点网络管理仪表板,单击Sites,编辑blog 01,使其在LWPMU下运行。最后,再次检查PHPMyAdmin,您将看到blog 01现在正在lwpmu.cloud(site_id=2)下运行。

PHPMyAdmin 06 Blogs

您的多网络现已启动并运行!

您现在可以开始规划和实施您的多站点及其多网络下的博客/站点。

请记住,您在多个网络上创建的每个网络都有自己的网络管理仪表板和设置-它们将共享相同的物理安装和数据库,但它们的行为将完全独立的多站点。

从现在开始,我鼓励您尽可能多地使用新的多网络!

发表评论

电子邮件地址不会被公开。 必填项已用*标注