我用这样的设置工作,所以我可以给你一些关于如何做到这一点的提示。我一直这样做了一段时间,在这里和那里找出纠结的问题,并且觉得这是一个我可以诚实地说的设置是非常富有成效的。
小记:我在OSX上工作,所以如果你是linux/windows用户,使用的特定应用程序可能与你有点不同。
我使用MAMP(www.mamp.info)在我的Mac上运行一个生产“服务器”,使用PHP和MySQL轻松为我提供Apache服务器。您可以使用类似XAMPP的工具或手动安装所有内容,这取决于您。
然后我有我的活服务器,我的网站和客户网站的托管。对于每个新的网站项目(让我们以abc.com为例),我创建了一个名为staging.abc.com的子域,我在其中进行测试。在实际上线之前测试完全相同的硬件和软件是件好事。
我使用Subversion(或者简称SVN)来满足我的版本需求,并且增加了额外的好处,只要我将最新版本发送到SVN服务器,我就可以轻松添加'钩子'来自动更新在线生产服务器。SVN还允许您轻松地与同一项目上的多个人一起工作。有关SVN以及如何使用它的更多信息,我建议您在这里找到很棒的(免费的)在线书籍:
简而言之:我在本地与MAMP一起工作,为我提供本地“工作”服务器。之后,我在staging.abc.com上的在线测试中查看是否一切正常,和可能允许其他人看到该项目(例如,如果您希望客户端看到正在发生的事情),以及之后我实际上将该项目发布到实际的域名上。
还有很多事情可以做,以优化您的工作流程,但这应该让你开始。
希望这会有所帮助!
-Dave
为什么rsync如果你能从服务器上的SVN检出你当前的修订版? – 2009-02-03 10:49:34