从 Django/Python3 部署到 Google Compute Engine Managed VM
Posted
技术标签:
【中文标题】从 Django/Python3 部署到 Google Compute Engine Managed VM【英文标题】:Deploying from Django/Python3 to Google Compute Engine Managed VM 【发布时间】:2016-03-25 19:09:06 【问题描述】:我是云开发的新手,在网上阅读后,我认为这个问题没有得到解答。
我有一个使用 Django (written in python3)
和 bootstrap
的程序。我已经为这个程序工作了一段时间,我认为我已经为部署做好了充分的准备。 em>
我正在使用Google Cloud
/Google Compute Engine
来部署这个应用程序。我非常清楚Django 的网络服务器不是为部署而设计的,据说最好的解决方案是使用mod_wsgi
。因此,我设置了一个local VM
,它使用Apache
和mod_wsgi
为应用程序提供服务。
我已经决定是时候部署应用程序了,但我不确定我想要采取的方向是否可行。 据我了解,在我看来,Google Cloud 的托管 VM 似乎比未解锁的 VM 具有更大的优势。但是,我很清楚 GCE 的局限性以及托管 VM 应该如何使用熟悉的运行时或自定义 docker 映像。
然而,我不确定将我的 mod_wsgi 应用程序部署所需的确切步骤 由Django
构建到GCE
。
托管VMs
中的apache环境是否支持mod_wsgi
?
我是否必须使用多个runtimes/docker
图像来实现这一点?
最好只使用click-to-deploy
映像之一或自定义映像来部署此应用程序,而不使用托管VMs
?
澄清一下,我使用的 apache、Django 和 python 都是最新版本。
【问题讨论】:
【参考方案1】:使用托管 VM custom runtime 可以实现您想要做的事情。这基本上意味着您为您的应用程序提供您自己的自定义Dockerfile,并使用它可以指定您想要的任何基本 docker 映像并安装您需要的任何其他依赖项(例如,通过 pip 或 apt-get)。例如,您可以使用 google/python base image 并使用 apt-get 在 Dockerfile 中安装 apache 和 mod_wsgi,或者只使用 already has apache and mod_wsgi 为您设置的基础镜像。
可能首先要做的最好的事情是运行 Python Hello World tutorial,因为在它结束时,您将确切地看到 Docker 如何与托管 VM 相关联,以及按照您的方式设置 Dockerfile 所需的语法想要。
【讨论】:
【参考方案2】:这仍然是一个没有很多好的答案的问题,如果有的话,堆栈溢出。具有讽刺意味的是,我从使用数字海洋的教程How To Serve Django Applications with Apache and mod_wsgi on Ubuntu 16.04 中获得了最大的好处,它基本上会引导您从头开始进行设置。我有一个运行 Ubuntu 16.04 的本地 VM,所以我能够通过两次,一次是在实践中,然后是在云中,这绝对帮助我相对较快地克服了一些障碍。
作为部署的一部分,我还将审核 Django Security Settings 的生产环境。
【讨论】:
链接死了 - 所以没有。把它带到这里来。以上是关于从 Django/Python3 部署到 Google Compute Engine Managed VM的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有选择意图的情况下直接打开Goog le Play商店应用[重复]
Django:Python3.6.2+Django2.0配置MySQL