您是否有任何有效的策略来启动WP网站的v2?


12

我和我的团队正在与一个客户合作,该客户拥有一个现有的WordPress网站,其中包含相当多的内容和他们构建的自定义主题。这是一个团体博客,这意味着它在世界各地都有数位博客作者,他们一直在添加和编辑内容。

我们的工作是创建一个具有许多新功能的全新主题。其中一些功能将需要新的自定义小部件,插件和数据库字段。

我们目前正在开发自己的开发机器,并将它们集成到单个开发服务器中。所有代码都在SVN中版本化。我们希望任命的DBA现在将任何数据库更改手动合并到dev DB中,尽管希望他能够尽快实现自动化。

我们刚刚开始谈论我们的产品发布过程。意思是:一旦完成,如何将我们的所有自定义代码平稳且尽可能少地干扰到生产(实时)服务器上?

我们正在考虑一些计划,但是我很想听听其他人也是如何解决这个问题的。是否有可遵循的最佳实践或应避免的陷阱?

Answers:


4

如果您遵循SethMerrick的建议,则可以在更改IP地址之前将适当的DNS记录上的TTL降低到5分钟左右(取决于当前TTL是多少小时),这样可以大大减少切换时间。

这样,您告诉远程DNS服务器仅将地址缓存5分钟。更改IP后,可以将TTL增加到以前的水平。为了进一步减小影响,请在低流量时段进行切换。


巧合的是,我们刚刚开始这样做。绝对有帮助。我们负担不起长时间的部署。感谢您添加提示!
李·李

请注意,在实际更改IP之前,应将TTL更改很多时间。换句话说,如果TTL为一周,则应在更改IP之前一周将TTL更改为5分钟,以便每个人都可以使用新的TTL。
Daniel C. Sobral

2

我不确定这是否适用,但是我只是经历了类似的过程,即同时迁移和升级高流量站点。

基本策略是在登台服务器上工作,然后在一切准备就绪后,在活动服务器上进行mysql转储,将其导入到登台服务器,进行任何必需的清理,然后将DNS记录指向登台服务器,从而导致登台服务器成为新的实时服务器。

然后,棘手的一点是将DNS传播过程中累积的所有数据合并到登台服务器(现在是实时服务器)中。换句话说,如果在进行mysql转储/更新DNS与完成DNS传播之间经过30个小时,则必须有选择地将30个小时的记录从旧站点合并到新站点。

这不是一个无缝的过程,但是当我们走了一周的时间时,所有的纠结已经使自己变得平淡。


在这种情况下,您是否可以在DNS过渡期间使旧站点有效地为只读站点,以防止对将不会迁移的站点进行更改?
Trevor Bramble

这是另一种方法,可以防止在过渡期间将任何新数据添加到旧站点的数据库中。不过,我上面提到的方法使过渡期间的旧站点保持活动状态,然后将过渡期间出现的所有其他数据库条目(新帖子,评论等)手动合并到新站点中。编辑:只是想提到acterry关于TTL记录的建议是很棒的建议。
SethMerrick

我们已经做了类似的事情。不是无缝的,但是嘿,它有效。
Mike Lee,2010年

2

@Mike Lee:这是一个很好的问题,也是WordPress的一个神圣的难题(或者我熟悉的任何主流开源CMS,例如Drupal,Joomla等)。

虽然这当然不是要解决您的用例,但请查看我对一个相关问题的回答,该问题描述了我刚刚通过WordPress Answers Exchange提供的称为WP Migrate Webhosts的beta级插件(是的,我在创意命名方面很烂)

但是我也想解决您使用插件描述的用例,并且目前正在考虑如何实现。我认为解决该问题的方法是放弃一般性地解决它,而转而解决WordPress中存在的已知模式,然后允许其他任何人将我的插件“ 挂钩 ”以用于特殊用例。我也在考虑一种方法,可以将WordPress中的数据和结构序列化为PHP文件中的数据,以便将来的插件可以将这些更改应用为增量,就像源代码控制系统应用增量来获取当前版本的源代码一样码。

因此,在我没有完全回答或解决您的问题的同时,希望我能给您一些深思熟虑的东西,并希望您或其他人可能希望在最终的解决方案上进行合作。


WP Migrate Webhosts听起来像是一个急需的插件。感谢您的分享和反馈!
Mike Lee,2010年

是的,我想是这样。我希望得到合作,以便我和其他人可以发展它,使其变得更加有用!感谢您的投票。
MikeSchinkel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.