用途
本技能面向需要将 Django 应用部署到 Google App Engine Standard 并使用 Cloud SQL PostgreSQL 数据库的场景,提供从环境配置到部署上线的完整操作指引。资料标注状态为 Production Ready,最后更新于 2026-01-24,无额外依赖。
主要能力
- 提供生产环境通过 Unix socket 连接 Cloud SQL 的 Django 数据库配置。
- 提供本地开发通过 Cloud SQL Auth Proxy 连接的配置方式。
- 给出 app.yaml、settings.py、gunicorn.conf.py 的完整示例。
- 覆盖 6 步部署流程:创建 Cloud SQL 实例、配置 Django 项目、搭建本地开发代理、运行迁移、配置 Gunicorn、部署到 App Engine。
- 列出 12 个已知问题及其预防方法,包括 Unix socket 缺失、连接被拒、密码认证失败、连接数过多、请求超时、静态文件 404、CSRF 失败、数据库不存在、IAM 认证失败、生产迁移失败、SECRET_KEY 暴露、冷启动超时。
使用方式
- 安装依赖:
pip install Django psycopg2-binary gunicorn;本地开发可安装pip install "cloud-sql-python-connector[pg8000]"。 - 在 settings.py 中根据是否运行于 App Engine(通过
GAE_APPLICATION环境变量判断)分别配置数据库连接。生产环境使用/cloudsql/{CLOUD_SQL_CONNECTION_NAME}作为 HOST,PORT 设为空字符串;本地使用 127.0.0.1:5432。 - 创建 app.yaml,设置 runtime、entrypoint、env_variables,并在 beta_settings 中声明
cloud_sql_instances。 - 本地开发时启动 Cloud SQL Auth Proxy,并设置 DB_NAME、DB_USER、DB_PASSWORD、DEBUG 等环境变量。
- 运行
python manage.py migrate执行迁移。 - 配置 Gunicorn,注意 App Engine Standard 的 worker 与超时限制。
- 执行
python manage.py collectstatic --noinput后运行gcloud app deploy app.yaml部署。
适用场景
- 在 Google App Engine Standard 上部署 Django 项目。
- 使用 Cloud SQL PostgreSQL 作为后端数据库。
- 需要本地通过 Cloud SQL Auth Proxy 连接云端数据库进行开发。
- 需要参考常见部署错误的预防措施。
限制
- 资料未提供收费、价格或平台可用性信息。
- 资料未提供除 Google Cloud 之外的其他云平台适配说明。
- 资料未提供性能基准或效果数据。
- 部分配置(如 Secret Manager、Cloud Build 迁移)仅提及,未展开完整步骤。