如何在上线前testingconfiguration更改?

我是一名学生志愿者,帮助维护一个小型网站的Web服务器以及其他一些学生。 这是一个运行在Ubuntu 12.04上的非常标准的LAMP服务器,主要托pipe基于PHP的站点。

最近有很多次我们希望做一个小的configuration更改,最多需要几分钟 – 例如,更改某些网站文件的权限以提高安全性,更新SSL证书,稍作修改configuration文件等 – 并意外地搞砸了整个网站的地方。 之后通常会导致15分钟左右的疯狂,试图让网站重新恢复。

幸运的是,几分钟的停机时间并不是世界末日,因为它是一个小型的非商业网站。 但是,我认为,搞乱一些不易修复的事情只是时间问题,可能会导致一些非常严重的问题。 当然,我们也有备份服务器和辅助服务器,但恢复这些备份仍然需要很长时间。

所以这里是我想知道的问题:是否有一个好的方法来testingconfiguration更改才能在服务器上运行? 我考虑设置一个与主服务器configuration完全相同的辅助服务器,以便可以在辅助服务器上首先执行/testing命令,但是我认为确保两台服务器始终同步会变得非常烦人。 有没有更好的方法来做到这一点,缺乏虚拟化和快照工作?

在服务器上运行之前testingconfiguration更改是否有好的方法?

是的,这正是你想要避免的,build立一个开发环境:

  • 使用相同的OS
  • 相同的软件安装
  • 相同的configuration
  • 知道你的工具,并知道你在做什么,IOW投入时间去实践。
  • 最后但并非最不重要的使用源代码控制,例如git

基本上,创build您的生活设置的镜像。 然后,你可以调整开发,直到满意,然后在现场环境中做这些改变。 它可以得到非常详细的,但在一般的方式,这是如何做到这一点。 我敢说这是一个行业标准的做法。

有没有更好的方法来做到这一点,缺乏虚拟化和快照工作?

可能有,但我不知道,也没有使用过。

祝你好运:)