2017-03-18 11 views
0

Django 1.10.5およびPostgreSQL 9.5を使用して、アプリケーションサーバからリモートDBサーバへの移行を試みています。これらは別々のUbuntu 16.04 EC2インスタンスです。私は、アプリケーションサーバーではなく、リモートDBサーバーにPostgreSQLをインストールしました。Djangoを使用したリモートデータベースへの移行

私は、DBサーバー上でグローバルにPostgreSQLのインストール:

:私は私のpostgresql.confファイルリッスンアドレスを設定

host  all  all  10.0.59.0/24  trust 

:私はpg_hba_confファイルを更新

sudo apt-get update 
sudo apt-get install libpq-dev postgresql postgresql-contrib 

listen_addresses = '*' 

Djangoは、アプリケーションサーバーのconda環境に存在します。私はpsycopg2 == 2.6.2をconda環境にインストールしました。私はpsycopg2をdbサーバにインストールしませんでした。ここで

は私のDjangoのデータベース設定であり、どこのホストは、「DBサーバのIPアドレスです:実行した後

DATABASES: { 
    "default": { 
     "ENGINE": "django.contrib.gis.db.backends.postgis", 
     "NAME": "mysite", 
     "USER": "postgres", 
     "PASSWORD": "", 
     "HOST": "10.0.59.134", 
     "PORT": "5432" 
    }, 
} 

python manage.py migrate 

私は次のエラーを取得:

Traceback (most recent call last): 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection 
    self.connect() 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/base/base.py", line 171, in connect 
    self.connection = self.get_new_connection(conn_params) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/postgresql/base.py", line 176, in get_new_connection 
    connection = Database.connect(**conn_params) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/psycopg2/__init__.py", line 164, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, async=async) 
psycopg2.OperationalError: could not connect to server: Connection refused 
    Is the server running on host "10.0.59.134" and accepting 
    TCP/IP connections on port 5432? 


The above exception was the direct cause of the following exception: 

Traceback (most recent call last): 
    File "manage.py", line 21, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line 
    utility.execute() 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/core/management/__init__.py", line 359, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/core/management/base.py", line 294, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/core/management/base.py", line 345, in execute 
    output = self.handle(*args, **options) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 81, in handle 
    connection.prepare_database() 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/contrib/gis/db/backends/postgis/base.py", line 24, in prepare_database 
    with self.cursor() as cursor: 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/base/base.py", line 231, in cursor 
    cursor = self.make_debug_cursor(self._cursor()) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/base/base.py", line 204, in _cursor 
    self.ensure_connection() 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection 
    self.connect() 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/utils.py", line 94, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/utils/six.py", line 685, in reraise 
    raise value.with_traceback(tb) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection 
    self.connect() 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/base/base.py", line 171, in connect 
    self.connection = self.get_new_connection(conn_params) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/django/db/backends/postgresql/base.py", line 176, in get_new_connection 
    connection = Database.connect(**conn_params) 
    File "/home/ubuntu/anaconda3/envs/mysite/lib/python3.6/site-packages/psycopg2/__init__.py", line 164, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, async=async) 
django.db.utils.OperationalError: could not connect to server: Connection refused 
    Is the server running on host "10.0.59.134" and accepting 
    TCP/IP connections on port 5432? 

両方のEC2インスタンスがカスタムVPCのプライベートサブネットにあります。インバウンドルールとアウトバウンドルールのセキュリティグループ設定は、いずれかのマシンがどのような形式のトラフィックでも許可されるように設定されています。

これはプライベートサブネットのテストサイトなので、パスワードやユーザーはいませんが、今のところはありません。

私はここで何が欠けていますか?

+0

あなたはあなたがそのエラーを得るために何をしているのか言わなかったので、わかりません。あなたがしたことと完全なエラーメッセージを正確に表示してください。 –

+0

こんにちはダニエル。謝罪いたします。私はそれに応じて質問を更新しました。ありがとう。 –

答えて

0

私の/etc/postgresql/9.5/main/postgresql.confファイルでは、「接続と認証」の下の「listen_addresses」変数の前に「#」は削除されませんでした。

変数をする必要があります

listen_addreses = '*' 

すべての作業罰金。私のDjangoアプリケーションは、別のUbuntu 16.04 EC2インスタンスにあるPostgresqlデータベースへの移行を実行するUbuntu 16.04 EC2インスタンス上にあります。両方のEC2インスタンスがプライベートサブネットに存在します。

関連する問題