502 错误网关:nginx - 日志:读取时上游过早关闭连接... [Django 2.1 |枪炮 19.7.1 | Google云平台]
502 Bad Gateway: nginx - Log: upstream prematurely closed connection while reading... [Django 2.1 | gunicorn 19.7.1 | Google Cloud Platform]
我是一家公司的新员工,该公司在 Google Cloud PLatform 上有这个项目,但我从未使用过。在我的第一天,我遇到了这个 502 Bad Gateway 错误。查看 Google 云平台上的日志,我得到以下信息:
[error] 33#33: *285 upstream prematurely closed connection while reading response header from upstream, client: 172.217.172.212, server: , request: "POST /product/fast_appraisal/result/ HTTP/1.1", upstream: "http://172.17.0.1:8080/product/fast_appraisal/result/", host: "avalieidjango.appspot.com", referrer: "https://avalieidjango.appspot.com/product/fast_appraisal/search/"
我尝试编辑 app.yaml
并向其添加 --timeout
和 --graceful-timeout
参数,如下所示:
# [START runtime]
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT mysite.wsgi --timeout=90 --graceful-timeout=10
beta_settings:
cloud_sql_instances: avalieidjango:southamerica-east1:avaliei
runtime_config:
python_version: 3
handlers:
- url: /.*
script: manage.py
secure: always
redirect_http_response_code: 301
# [END runtime]
在settings.py
文件中DEBUG
变量设置为False
在网上找答案我找到了一些案例,但没有一个和我的一模一样。
我在本地 运行 在 Windows 7 上安装项目,所以只有在我将它部署到 GCP 时才会出现错误。我是 GCP 和 gunicorn 的新手。
编辑
这些天我浏览了很多论坛,并在我的 app.yaml
中添加了一些新配置,试图与线程和工作人员一起解决问题。
入口点行如下所示:
entrypoint: gunicorn -b :$PORT --worker-class=gevent --worker-connections=1000 --workers=3 mysite.wsgi --timeout 90
该项目包括在 GCP 上搜索 Postgres 数据库,收集有关属性的信息,并 运行使 AI 显示有关其值的一些预测。
我已经尝试过线程和进程,但即使只有我的请求,应用程序也太慢了,即使是一个简单的页面也需要一些时间来呈现。
本地测试运行更好,但在生产中它根本不起作用。
AI 不是为我开发的,它使用了一个很大的 joblib 文件。
该项目不使用像 Docker 这样的容器。如果我将项目“dockerize”,也许它会在某种程度上有所帮助?
我已不再看到此错误,将 CONN_MAX_AGE
值更改为 None
,这使数据库连接时间未定义。但是,这可能会导致一些安全问题,必须在部署您的应用程序之前对其进行评估。如果您更改它,请继续关注 Google Cloud Logs 寻找奇怪的连接尝试。
我是一家公司的新员工,该公司在 Google Cloud PLatform 上有这个项目,但我从未使用过。在我的第一天,我遇到了这个 502 Bad Gateway 错误。查看 Google 云平台上的日志,我得到以下信息:
[error] 33#33: *285 upstream prematurely closed connection while reading response header from upstream, client: 172.217.172.212, server: , request: "POST /product/fast_appraisal/result/ HTTP/1.1", upstream: "http://172.17.0.1:8080/product/fast_appraisal/result/", host: "avalieidjango.appspot.com", referrer: "https://avalieidjango.appspot.com/product/fast_appraisal/search/"
我尝试编辑 app.yaml
并向其添加 --timeout
和 --graceful-timeout
参数,如下所示:
# [START runtime]
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT mysite.wsgi --timeout=90 --graceful-timeout=10
beta_settings:
cloud_sql_instances: avalieidjango:southamerica-east1:avaliei
runtime_config:
python_version: 3
handlers:
- url: /.*
script: manage.py
secure: always
redirect_http_response_code: 301
# [END runtime]
在settings.py
文件中DEBUG
变量设置为False
在网上找答案我找到了一些案例,但没有一个和我的一模一样。
我在本地 运行 在 Windows 7 上安装项目,所以只有在我将它部署到 GCP 时才会出现错误。我是 GCP 和 gunicorn 的新手。
编辑
这些天我浏览了很多论坛,并在我的 app.yaml
中添加了一些新配置,试图与线程和工作人员一起解决问题。
入口点行如下所示:
entrypoint: gunicorn -b :$PORT --worker-class=gevent --worker-connections=1000 --workers=3 mysite.wsgi --timeout 90
该项目包括在 GCP 上搜索 Postgres 数据库,收集有关属性的信息,并 运行使 AI 显示有关其值的一些预测。
我已经尝试过线程和进程,但即使只有我的请求,应用程序也太慢了,即使是一个简单的页面也需要一些时间来呈现。
本地测试运行更好,但在生产中它根本不起作用。
AI 不是为我开发的,它使用了一个很大的 joblib 文件。
该项目不使用像 Docker 这样的容器。如果我将项目“dockerize”,也许它会在某种程度上有所帮助?
我已不再看到此错误,将 CONN_MAX_AGE
值更改为 None
,这使数据库连接时间未定义。但是,这可能会导致一些安全问题,必须在部署您的应用程序之前对其进行评估。如果您更改它,请继续关注 Google Cloud Logs 寻找奇怪的连接尝试。