在Windows机器上开发,在Linux上部署(Ubuntu)

时间:2011-03-30 10:39:36

标签: windows linux deployment ubuntu

我一直在开发一个Web应用程序(用Python / Django编写)。我的所有开发工作都是在Windows机器上完成的,但我最终部署到了Ubuntu 10.10服务器(VPS)。

我的开发环境和生产环境不同,我开始遇到很多麻烦。我一直在尝试Linux上支持的新库,但是Windows支持很糟糕等等。我确实有一个临时服务器,但显然我不能通过每次部署到临时服务器来完成大部分开发。

我的问题:我想保持使用Windows作为我的开发环境,但没有遇到所有这些问题。什么是最好的方法呢?我已经开始考虑在虚拟机上运行本地Linux服务器,为我提供本地服务器的速度,但删除了Windows障碍。这是最好的方法吗?

5 个答案:

答案 0 :(得分:3)

使用虚拟机是解决此问题的常用方法。它们在现代硬件上运行得非常好。到目前为止,VM将为您提供最方便的可用选项。

答案 1 :(得分:3)

我想解决方案与自由开发者一样多。

也许不是最好的,但在这里我正在做的事情并且效果很好:

  • Windows7托管2台虚拟机(virtualbox)
  • Windows机器上的Eclipse Helios
  • 1个VM ubuntu,用于从客户端进行各种脚本测试
  • 1 VM Debian,作为开发服务器,构建为生产服务器的完美图像
  • 1个生产服务器,所以在我的情况下是Debian,我转移了“已完成”的产品或经过验证的版本。
  • 1个开发服务器,仅适用于SVN和/或TRAC或类似服务器。这可以在您的开发VM服务器中合并。
  • 对于Perl的开发,我在windows托管机上添加了Perl模块-under cygwin-,Eclipse正在根据这个设置进行调整。但说实话,应该避免这种混合解决方案。

它允许什么?

  • VM使用允许您拥有开发服务器的一种永久备份,
  • VM使用允许您轻松返回以前的服务器版本 - 例如,在崩溃的情况下,
  • ssh从一台机器到另一台机器,甚至从一台机器到另一台机器,
  • 在Windows和VM之间共享目录,
  • 在Windows机器上使用Eclipse作为所有这些的开发中心(subclipse / svn客户端,java,python,php,perl,bash,js,...)

由于VM需要的资源,您将失去本地服务器的一些速度 - 托管在与Windows内容相同的机器上,但“多少”将取决于您的硬件。在任何情况下,这都不应成为这种布局的瓶颈。

一开始设置有点沉重,但一旦正常就非常方便。

希望它至少能为你提供想法。

PS:设置VM非常简单,即使是像我这样的菜鸟也做到了: - )

答案 2 :(得分:1)

我不久前遇到过类似的问题。我一直在开发一个Linux移动应用程序,并且不想放弃Visual Studio编辑器的便利性。我已经使用Ubuntu设置了VirtualBox,并在guest虚拟机和主机操作系统之间建立了一个共享文件夹。因此,我能够在VS中编辑代码并在Ubuntu下编译/运行它,而没有太多开销。这对我来说很有效。我建议尝试一下。

答案 3 :(得分:0)

使用虚拟机。或者你可以使用Cygwin。这是一种伪VM。

答案 4 :(得分:0)

我建议您为您的开发预配置TurnKey Django虚拟机。这样做的一个巨大好处是,您可以利用TurnKey Backup and Migration (TKLBAM)将您的应用程序(以及任何服务器自定义项)迁移到云中...