繁体   English   中英

Django - App Engine - 云 SQL (PostgreSQL) - 操作错误:无法连接到服务器:连接被拒绝

[英]Django - App Engine - Cloud SQL (PostgreSQL) - OperationalError: could not connect to server: Connection refused

我已将 Django 部署到连接到 Cloud SQL (PostgreSQL) 实例的 App Engine。 我不断收到以下错误:

OperationalError: could not connect to server: Connection timed out 

OperationalError: could not connect to server: Connection refused

app.yaml

# [START django_app]
runtime: python37
service: prestige-worldwide

handlers:
# This configures Google App Engine to serve the files in the app's static
# directory.
- url: /static
  static_dir: static/
# This handler routes all requests not caught above to your main app. It is
# required when static routes are defined, but can be omitted (along with
# the entire handlers section) when there are no static files defined.
- url: /.*
  script: auto
# [END django_app]

settings.py - 数据库配置

ALLOWED_HOSTS = ['app-engine url','127.0.0.1']

DATABASES = {
    'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2',
                'NAME': 'postgres',
                'USER': 'postgres',
                'PASSWORD': 'admin',
                'HOST': 'instance public ip address',
                'PORT': 'ip address host',}}

它在本地与 Cloud SQL 一起工作正常,但在部署到 App Engine 时不起作用。

像这样配置数据库解决了这个问题

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': 'admin',
    }
}
DATABASES['default']['HOST'] = '/cloudsql/instance-name'
if os.getenv('GAE_INSTANCE'):
    pass
else:
    DATABASES['default']['HOST'] = 'instance public ip address'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM