工作(流程)设置:远程 Debian VM(在办公室)、ssh、web 开发

Work(flow) Setup: Remote Debian VM (in office), ssh, web development

通常我在本地(在我自己的机器上)开发并通过映射驱动器、ftp、github 等将东西推送到任何需要的地方。我做了一些工作使用 vagrant/virtualbox(但同样是在本地)使用 shared/mirrored 文件夹。

我现在的处境是这里的每个人都可以访问自己的开发箱(网络上的虚拟机)。我相信,我看到一些人直接通过 SSH 在 Vim 中工作,但我还没有。所以我留下了一个问题:(更多的前端人员)处理这个问题的最佳方法是什么?

我听说过从我的工作站进行 SSH 挂载...如果可行的话。我很好奇每个人对这种环境的看法以及(也许)任何最佳实践。提示、链接和阅读也非常受欢迎和赞赏......任何指向好的方向都会很棒。

谢谢。

最佳答案将来自您希望为虚拟网络 VM 利用哪些虚拟资源。如果你只想要存储 space,那么共享 VM 的驱动器,并在本地安装它们,将它们视为本地,故事结束。如果你想 运行 远程机器上的所有处理,并从瘦客户端连接,你有几个选项,但它们都采用相同的形式。连接到机器,编辑远程机器上的文件。根据您的 OS,您将有不同的选择。

  • 如果远程机器没有安装图形客户端,你要么在本地安装远程共享(你可以使用任何你想要的编辑器),要么通过 ssh 连接到远程机器并使用命令行编辑器(vim、nano、emacs)。

  • 如果安装了图形客户端,您有更多选择:

    • 在服务器中远程使用任何可视化查看器(mstsc for windows,vnc 是一个选项),然后使用您选择的任何远程安装的编辑器。

    • 远程使用ssh -X,然后运行远程安装编辑器。假设您在本地有一个 X-Server(如果您已经 运行ning linux),应用程序的 GUI 部分将在 ssh 隧道的客户端 运行,该进程将在服务器上 运行。这可能是最好的选择。

所以:

  • 确保远程服务器有桌面客户端软件(gtk、kde、gnome、almost任何windowsos等...)
  • 在该服务器上安装您选择的 GUI 编辑器
  • ssh -X 到该服务器
  • 安装 sublime text、geany 或您选择的编辑器
  • 运行 sublgeany 或其他启动应用程序。

SSH 安装确实允许您使用 VM 上的所有文件,就好像它们存储在本地机器上一样,让您可以编辑和更新文件,而无需在每次执行更改时手动复制它们。不过,您会 运行 遇到减速带,因为每次更改的文件都必须 synchronized/copied 到您的远程计算机,这需要几秒钟。检查 DigitalOcean 的 this post,他们解释了如何让 SSH 挂载工作。

您有一个更好的选择(恕我直言)是在保存后或通过手动操作将 IDE in your local machine that allows you to push changes 用于服务器。这将允许您通过使用本地资源(本地 Web 服务器)更快地开发,因为不必通过网络将文件复制到远程 VM;并且还允许您在需要时在该远程 VM 上进行测试,方法是在您准备好在该环境中进行测试时上传文件。

PS:将可视化应用程序或环境从远程计算机导出到本地计算机可能会很慢(取决于您的网络和 VM 主机负载 运行ning 您的计算机)。如果您仍然喜欢这种方法,您还可以安装一些东西来通过更标准和更轻量级的东西访问该 VM,例如 GNU/Linux (xrdp) 的 RDP。