更新具有活跃成员注册的站点



我想承担一个项目,但我不确定如何处理更新过程。

通常,当被要求更新站点时,您会备份数据库&站点文件,然后在本地或开发服务器上进行更新。然后当更新完成时,你将它们推送到现场。

我的问题是,我将工作的网站每天注册新会员,每天发表博客文章,每天收到新的评论。如果我星期一把站点拉下来,在测试环境中更新它,然后在星期五将这些更改推送,那么在这一周内注册的每个成员和写的博客条目都将被覆盖。

那么最好的方法是什么呢?我如何更新/添加功能到一个网站,而不会丢失在开发过程中获得的数据?当然,这是可能的,因为像TechCrunch和Gizmodo这样的高流量网站一直在进行大规模的全站更新,而不会丢失数据。

这取决于你在做什么改变。是文件/模板更改还是数据库更改?

如果只是文件更改,只需将文件和数据库拉到本地服务器,对文件进行更改,然后在完成后将它们(仅文件)推送到活动服务器。只要数据库没有发生变化,这就可以工作。

如果有db更改,事情会变得有点棘手。您将基本上遵循相同的过程,但请注意您在本地站点上所做的任何数据库更改。当一切都准备好推送到实时服务器时,您别无选择,只能在更新时将站点离线供用户使用。

然后你会把所有更新的文件推送到实时服务器,并镜像你在本地服务器上做的任何db更改(安装/更新插件等)。当所有这些都完成并经过测试后,您可以再次将站点上线。如果你对数据库的变化做了很好的记录,那么停机时间应该是最小的。

这取决于能够阻止用户访问,但仍然允许自己访问,但这是大多数cms的标准。

同样,如果你还没有,你应该考虑将git集成到你的工作流中。如果你要做的改变需要花费相当多的时间,那么你就需要一个合适的系统,在这个系统中,你可以将代码分支成新版本,同时仍然保持在线服务器上代码的原始状态。

这样,当你在本地开发新功能时,如果有一个紧急的修复需要做,你可以切换回你的主/原始分支,并对不包括你在其他分支上工作的任何新东西的代码进行更改。

好吧,我只做过小流量的wordpress/drupal网站,但没有一个"实时"版本对我来说并不是一个问题。我有我的开发副本,测试我想要的更改,然后通过ftp备份将这些更改滚动到活动站点。

你要编辑这些注册吗?或者你只是在调整静态文件?

在wordpress的例子中,我测试了一个插件,然后把它安装在网站上。通常,我所做的更改涉及插件/模块和一些PHP的东西。这显然不是最微妙的解决方案,我很想知道更有见识的人有什么想法。

相关内容

  • 没有找到相关文章

最新更新