首次部署Django到Google Cloud Services时app.yaml等配置文件相关问题
Django 项目部署至 Google Cloud Services 相关问题解答
app.yaml 的参考标准与填写方法
优先以平台官方提供的 app.yaml 示例为核心基准,第三方示例大多针对特定项目的个性化需求做了定制修改(比如额外配置了媒体资源路由、自定义运行时参数等),仅可作为特定场景的参考,不能直接套用。
官方示例无法直接适配所有项目,你需要根据自己的项目实际情况调整以下核心配置项:
runtime:填写和你本地开发环境一致的 Python 版本,比如本地用 Python 3.10 就填python:3.10,避免版本差异引发的兼容异常entrypoint:填写项目启动命令,常规 Django 项目搭配 gunicorn 作为生产服务器的话,填写格式为gunicorn 你的项目同名文件夹.wsgi:application,注意提前把 gunicorn 加入项目依赖env_variables:所有敏感配置和环境相关参数都在这里定义,包括 Django 的SECRET_KEY、生产环境必须设为False的DEBUG参数、数据库连接信息等,不要硬编码到项目代码中handlers:如果需要平台托管静态资源、媒体资源,需要在这里配置对应的路由映射规则,指向你 Django 配置中STATIC_ROOT、MEDIA_ROOT对应的目录
app.yaml 的存放位置
必须放在 Django 项目的根目录,和 manage.py 文件处于同级路径,部署时 gcloud 命令行工具会默认读取该位置的配置文件。
其他必备配置文件
除了 app.yaml 之外,你还需要准备以下文件:
requirements.txt:列出项目所有依赖的 Python 包,包括 Django、gunicorn、你用到的第三方库、数据库驱动等,GCP 部署过程中会自动安装该文件中声明的所有依赖.gcloudignore:作用类似.gitignore,用来指定部署时不需要上传的内容,比如本地虚拟环境目录、缓存文件、本地测试用的 sqlite 数据库、存储敏感信息的.env文件等,避免无效资源上传和敏感信息泄露- 如果你的项目使用 pipenv 管理依赖,可以准备
Pipfile和Pipfile.lock替代requirements.txt,首次部署没有特殊需求的话更推荐用兼容性更强的requirements.txt
内容的提问来源于stack exchange,提问作者Aidenweiss
相关产品推荐
相关产品推荐

