背景
我正在开发一个带有标准 LAMP 堆栈的 Web 应用程序。我是 Web 开发的新手,最初计划将我的代码(一旦完成)简单地 FTP 到我的托管服务提供商(目前是 BlueHost,但将来可能会改变)。
狮身人面像搜索
最近,我决定为我的站点添加高级搜索功能,该站点由 Sphinx 搜索提供支持。显然,这意味着我必须将 Sphinx 安装到我的开发机器上。当网站上线时,我将不得不在我的生产服务器上安装(通过 ssh)Sphinx。这可能需要大量时间来调试 Sphinx 的开发和生产安装中的细微差异(以及与此相关的其他环境)。
我还在学习
我偶然发现了虚拟机,看起来(如果我错了,请纠正我)一些开发人员为每个项目创建虚拟机并将虚拟机加载到他们的生产服务器上。这使他们不必在将代码上传到生产服务器后对其进行调试,从而增加了成功的可能性。
问题
我的问题是:在虚拟机上开发并在应用程序开发完成后尝试将其加载到我的生产服务器上是否有意义?如果是这样,这通常可以用于共享服务器还是仅用于专用服务器?如果不是,您是否介意解释您对解决开发和生产服务器之间存在差异的潜在问题的最佳方法的看法。