我想在google cloud中部署Django + CloudSQL (Postgresql) + app engine的灵活环境。
My app.yaml setting
runtime: python
#gunicorn
env : flex
entrypoint : gunicorn -b 127.0.0.1 -p 8000 config.wsgi --timeout 120
#instance_class : F4
beta_settings:
cloud_sql_instances: icandoit-2021start:asia-northeast3:test-pybo=tcp:5434
runtime_config:
python_version: 3
gcloud app日志尾部结果
2021-02-03 11:02:17 default[20210203t195827] [2021-02-03 11:02:17 +0000] [1] [INFO] Starting gunicorn 19.7.1
2021-02-03 11:02:17 default[20210203t195827] [2021-02-03 11:02:17 +0000] [1] [INFO] Listening at: http://127.0.0.1:8000 (1)
2021-02-03 11:02:17 default[20210203t195827] [2021-02-03 11:02:17 +0000] [1] [INFO] Using worker: sync
2021-02-03 11:02:17 default[20210203t195827] [2021-02-03 11:02:17 +0000] [8] [INFO] Booting worker with pid: 8
2021-02-03 11:09:18 default[20210203t170353] [2021-02-03 11:09:18 +0000] [1] [INFO] Handling signal: term
2021-02-03 11:09:18 default[20210203t170353] [2021-02-03 11:09:18 +0000] [8] [INFO] Worker exiting (pid: 8)
2021-02-03 11:09:19 default[20210203t170353] [2021-02-03 11:09:19 +0000] [1] [INFO] Shutting down: Master
2021-02-03 11:09:19 default[20210203t170353] [2021-02-03 11:09:19 +0000] [1] [INFO] Handling signal: term
2021-02-03 11:09:19 default[20210203t170353] [2021-02-03 11:09:19 +0000] [8] [INFO] Worker exiting (pid: 8)
2021-02-03 11:09:20 default[20210203t170353] [2021-02-03 11:09:20 +0000] [1] [INFO] Shutting down: Master
2021-02-03 11:14:25 default[20210203t195827] "GET /" 502
django和gunicon工作正常
为什么出现502错误?
请遵循官方文档:
从App Engine灵活环境连接到Cloud SQL
运行时通过运行你在在app.yaml文件中的入口点字段。入口点应该开始于侦听由port环境指定的端口的web服务器变量。例如:
entrypoint: gunicorn -b :$PORT main:app
如果你的应用满足以下要求,应用引擎将启动你的应用与gunicorn web服务器,如果你没有指定入口点字段:
app目录的根目录包含一个main.py文件wsgi兼容对象app.
您的应用程序不包含Pipfile或Pipfile。锁定文件。
App Engine也会自动添加gunicorn到你的
如果您没有指定入口点字段,则需要指定Requirements.txt文件。
Python 3 Runtime Environment