PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Настройка на Django и PostgreSQL на две различни EC2 инстанции

ПОДДРЪЖКА НА AMAZON

Така че в крайна сметка разговарях и с момчетата от Amazon след отговора на Дейвид Волевър. Само в случай, че някой от вас попадне отново на този пост. Използването само на вътрешния IP сървър на сървъра не е достатъчно, но е добро начало. Ако използвате Ubuntu за вашия Postgresql екземпляр (за предпочитане Natty Narwhal), уверете се, че сте редактирали файловете pg_hba.conf и postgresql.conf.

Обикновено можете да намерите тези два файла на адрес:/etc/postgresql/8.4/main/(pg_hba.conf или postgresql.conf)

Имайте предвид, че използваме Postgresql 8.4 в нашия стек, той се оказа най-последователната и солидна версия на Postgresql, която се изпълнява на Natty Narwhal по време на нашите тестове.

За различни версии на Postgresql (9.1, 9.0 и т.н.) директорията, в която можете да намерите тези два файла, не е същата като изброената по-горе. Уверете се, че знаете правилната директория за тези файлове.

СТЪПКА 1

Отидете в конзолата за управление на Amazon и се уверете, че и двата екземпляра са под една и съща група за сигурност. Postgresql и Django използват 5432 и 8000 по подразбиране, така че се уверете, че тези два порта са отворени!

СТЪПКА 2

(Направете това на терминала на екземпляра на postgresql)

sudo vim postgresql.conf

Натиснете "i" на клавиатурата си, за да започнете да правите промени. Използвайте клавиша със стрелка надолу, докато не попаднете на

LISTEN_ADDRESSES:'localhost'

Отървете се от хеш маркера отпред и вместо „localhost“, добавете частния IP на вашия екземпляр на postgresql (можете да намерите частния IP адрес на вашата конзола за управление EC2) и виетрябва да добавите и 127.0.0.1.

ПРИМЕР:

LISTEN_ADDRESSES:'частен ip, 127.0.0.1'

Уверете се, че разделяте частния IP адрес и локалния хост адрес със запетая и оставяте всичко под един цитат.

След като направите промените, натиснете ESC и натиснете ZZ (два пъти с главни букви, за да запазите промените)

СТЪПКА 3

sudo vim pg_hba.conf

Използвайте клавиша със стрелка надолу, докато срещнете нещо, което изглежда така:

           Database administrative login by UNIX sockets
  local   all         postgres                          ident

  # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

  # "local" is for Unix domain socket connections only
  local   all         all                               md5
  # IPv4 local connections:
  host    all         all         127.0.0.1/32          trust
  # IPv6 local connections:
  host    all         all         ::1/128               md5
  local   django_db   django_login                      md5
  host    replication postgres    127.0.0.1/32          md5
  host    replication postgres    ::1/128               md5

Още веднъж натиснете 'i' на клавиатурата си и направете промените в нея точно както имам по-горе.

Ще забележите, че под IPv6 имам django_db и django_login, променете го съответно с името на вашата база данни postgresql и вашето потребителско име, което използвате за вашата база данни postgresql.

След като направите промените, натиснете ESC и натиснете ZZ (два пъти с главни букви, за да запазите промените)

СТЪПКА 4 (Почти готово Hi5!)

Рестартирайте postgresql сървъра, като използвате тази команда в терминала:

sudo /etc/init.d/postgresql рестартиране

Поздравления! Сървърът е готов и работи, но има една последна стъпка.

СТЪПКА 5

Стартирайте вашия Django EC2 екземпляр, отидете на вашите settings.py и потърсете това:

 DATABASES = {
 'default': {
 'ENGINE': 'django.db.backends.postgresql_psycopg2', 
 'NAME': 'django_db', 
 'USER': 'django_login',
 'PASSWORD': 'password', 
 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
 'PORT': '', # Set to empty string for default. Not used with sqlite3.
 }

Под 'HOST':' ' , променете го на 'HOST':'каквото и да е частният IP на екземпляра на Postgresql'

Запазете промените. Отворете терминал и намерете директорията, където е вашият файл manage.py. След като сте в тази директория, изпълнете следната команда:./manage.py syncdb

Те ще създадат всички необходими таблици за моделите, които сте създали в Django. Поздравления, успешно създадохте връзка между вашия екземпляр на база данни и вашия екземпляр на Django.

Ако имате въпроси, ще се радвам да помогна! Оставете коментар по-долу и аз ще се свържа с вас възможно най-скоро! :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Условен оператор INSERT INTO в postgres

  2. Задайте стойност в зависимост от диаграмата на Helm

  3. Инсталации на postgresql с един екземпляр

  4. Грешка:pg_config изпълним файл не е намерен при инсталиране на psycopg2 на Alpine в Docker

  5. Как да проверите версията на PostgreSQL