我有一个最小的Django项目,我正试图部署到Google App Engine托管虚拟机上。我很难理解究竟发生了什么以及正在做什么。我有一个app.yaml文件,如下所示:
runtime: custom
vm: true
entrypoint: custom
api_version: 1
manual_scaling:
instances: 1
handlers:
- url: /static
static_dir: static
- url: /.*
script: DjangoVM.wsgi.application
一个看起来像这样的dockerfile:
FROM gcr.io/google_appengine/python
RUN apt-get update
RUN apt-get -y install python-numpy python-scipy
ADD requirements.txt /app/requirements.txt
RUN pip install -r /app/requirements.txt
ADD . /app
CMD gunicorn DjangoVM.wsgi
我的requirements.txt看起来像这样:
Django==1.8.5
gunicorn==19.3.0
scikit-learn==0.16.1
网站部署正常,但我的静态文件没有显示出来。因此,在沙盒应用程序引擎项目中,app.yaml中的处理程序负责提供我的静态内容。我是否必须在dockerfile中配置nginx服务器或类似服务器以提供静态内容?
为了帮助我理解这一点,如果我没有使用gunicorn服务我的应用程序,默认情况下App Engine是否默认使用处理程序?即如果我没有CMD gunicorn DjangoVM.wsgi
会怎么样?自定义运行时是否意味着应用程序引擎默认情况下不会为我的应用程序提供服务而且我必须指定特定的WSGI服务器?对于托管虚拟机,文档还不是很全面。对不起,如果问题看起来有点令人困惑,但它反映了我目前对这个问题的困惑。谢谢你的帮助!