我对服务器和东西有点新,所以有一个问题。 我有我的开发团队在我的网站上工作。 他们在不同的国家,现在他们把所有的工作都放在testing现场。 但是testing网站对任何知道URL的人开放。 它在一个目录后面,但是这会影响我的QA过程,因为我无法使用准确的URL结构来阻止大众看到它。 所以我想要做的是:
让我的网站在网上生活,但只为我和我的团队,所以像一个内部networking。 当我把它放到现场时,我也需要把这个镜像反映到我的现场。 所以我想这就像build立一个舞台和生活环境。
我打算为我的网站获得一个专用的服务器+ CDN。 平台是PHP codeignitor和MySQL。
一般来说,你的testing环境应该完全独立于你的生产环境 – 这样你就可以在软件更新之前testing一些东西,比如软件更新,所以如果它们被破坏了,你可以决定在没有时间压力的情况下你的生活环境下降。
对于一个理想的情况,我的build议是build立一个与你的生产环境完全相同的开发环境 – 所有软件的相同版本,相同的数据库内容等等。这个环境可以被公开访问,或者被锁在防火墙的后面您的开发人员和QA会在VPN中进行工作(您往往依赖于您的工作stream程和stream程,但我个人喜欢VPN解决scheme)。
使用像VMWare这样的开发环境来build立开发环境通常也是有利的,在这个环境中,你可以在做大的改动之前快照环境。
您还需要一个适当的stream程来促进您对生产的更改。 如果您现在有时间投资于像Puppet或radmind这样的解决scheme,它将使未来的部署变得更加容易(VMWare在这里也派上用场 – 您可以在虚拟机上testing您的部署过程并对其进行debugging,以便在生产环境中运行时知道它将如何performance)。
我的基本方法是有两个目录,相同的物理服务器。
我在apache中为dev.sitename.com和www.sitename.com设置了一个单独的VirtualHost。 当我对dev上的某些东西感到满意时,我将代码推送到www。
随便我通常用dropbox共享文件夹来做,并创build一个符号链接到/ var / www。 这样,我很容易修改文件并查看结果。
如果你正在和多个用户一起工作,那么让开发环境版本控制的版本库会更好。 设置一个git服务器,并将资源库链接到apache的http目录。