我正在将我的Three.js应用程序及其自定义的node.js环境(我一直在本地计算机上运行)迁移到Google Cloud。我想在那里进行测试,希望很快可以和其他人一起进行一些早期的alpha测试。
我不确定哪一种方式更明智...将我一直在本地运行的存储库原样上传到VM,然后用户可以通过VM的外部IP访问它,直到我得到一个好名声为止调用此应用...或将我的本地node.js环境与通过Google App Engine可用的环境合并并在GAE上运行。
问题我正在使用linux VM方法...我不确定如何在VM上做与本地操作相同的操作。在Windows Powershell中,我cd
进入应用程序目录,然后输入node index.js
。我假设通过这种部署方法,只要浏览器点击外部IP,我就可以使应用程序运行。我还要提到,该应用程序将允许用户保存内容以及上传图像,并最终允许3D模型以及json数据集。
问题是我正在使用App Engine方法:似乎我只能访问基于Linux的命令行,并且必须手动安装所有node.js模块。同时,我有一堆文件要上传,包括服务器端节点文件和所有前端东西。我看不到将这些文件上传到哪里,最终我想做的是像在Windows和FileZilla中一样可以访问可视的,可编辑的文件树界面,以便可以进出文件,等等。另外,我想我可以从Github导入一个仓库?只要我能直观地看到正在发生的事情,Github就可以了。 GAE中是否有用于文件结构的可视界面?我想念什么吗?
我完成了GAE“ Hello World”教程的工作,效果很好,但随后就如何实际查看和编辑教程应用程序的内容,甚至在哪里寻找文件的问题ing之以鼻。
因此,首先,我想确定哪种方法更好,然后,如果可能的话,确定如何获得将我的应用安装到那里并运行更加直观,用户友好的体验的体验。
谢谢。
答案 0 :(得分:2)
在选择如何运行应用程序时,要考虑很多事情,但是我的直觉是在GCE上简单地使用VM。最令人信服的原因是,它与您现在拥有的最相似。您可以通过SSH进入计算机并运行nohup node index.js &
(如果愿意,也可以在node index.js
/ tmux
内运行screen
),它会启动应用程序,而在您注销时不会停止它SSH。您可以将SCP / SFTP与要上传文件的任何GUI客户端一起使用。您不必学习任何新知识!如果愿意,您甚至可以使用Windows VM(尽管我认为,由于许可费用,您必须支付比其他Linux VM多一些的费用)。
也就是说,按照现代开发标准,另一种方法可以说是“正确的”,但是它将涉及更多的学习知识,这些知识将在短期内阻止您的应用在笔记本电脑以外的其他地方运行:
如果您与大型开发人员团队合作,那么对于长期运行的生产服务,当然应该选择后一条路径-但这并不意味着它一定是当今项目的正确路径。如果您不关心自动扩展,节点之间的负载平衡,在发生自然灾害时在不同区域中运行的应用程序冗余副本等,那么现在就采用简单方法,您可以学习新方法在实际需要时改进服务。