无法连接到服务器:连接被拒绝。服务器是否在主机“localhost”(127.0.0.1)上运行,并在端口5432上接受TCP / IP连接

时间:2016-01-18 14:29:37

标签: django postgresql tcp

我的网站运行良好一段时间,突然间我的帖子无法访问:

django.db.utils:OperationalError: could not connect to server: Connection refused   
Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?
什么可能是错的?

我有2GB内存的debian jessie。流量为每秒20个用户。

为什么它本身突然发生?

数据库设置:

DATABASES = {
'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', 
        'NAME': 'mydblalala',                     
        'USER': 'lilili',                      
        'PASSWORD': 'lalalal',                  
        'HOST': 'localhost',                      
        'PORT': '5432',                      
    }
}

2 个答案:

答案 0 :(得分:0)

转到heroku中的数据库概述 - 连接设置 - URL 复制该网址并将其粘贴到settings.py中:

import dj_database_url
DATABASES = {'default': dj_database_url.config(default="<URL>")}

答案 1 :(得分:0)

我了解这个问题是很久以前提出的。但是也许会帮助某人。我在 Jhr的答案中添加了几句话。 您可以通过两种方式获取数据库( DB ):

  1. 将项目推送到 Heroku (自动创建 DB );
  2. 通过命令heroku addons:create heroku-postgresql:hobby-dev自己创建。

无论如何,只要拥有 DB ,就需要将 APP Heroku 上的 DB 连接。为此,我添加了 settings.py

DATABASES = {'default': dj_database_url.config(default=‘URI of DB on Heroku’)}


URI 可以通过两种方式找到:

  1. 如果 DB 已经存在: https://dashboard.heroku.com/apps -> 您的应用->单击 Heroku Postgres -> 设置-> 查看凭据-> URI
  2. 如果不是-您需要输入命令

heroku addons:create heroku-postgresql:hobby-dev

然后键入

heroku config -s | grep DATABASE_URL

最后,在 Heroku 上插入 DB URI ,而不是“ Heroku上的数据库的URI ”。