PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Menyiapkan Django dan PostgreSQL pada dua instans EC2 yang berbeda

DUKUNGAN AMAZON

Jadi saya akhirnya berbicara dengan orang-orang di Amazon juga setelah jawaban David Wolever. Kalau-kalau ada di antara Anda yang menemukan posting ini lagi. Menggunakan IP server internal saja tidak cukup, namun ini adalah awal yang baik. Jika Anda menjalankan Ubuntu untuk instance Postgresql Anda (sebaiknya Natty Narwhal), pastikan Anda mengedit file pg_hba.conf dan postgresql.conf.

Anda biasanya dapat menemukan kedua file tersebut di:/etc/postgresql/8.4/main/(pg_hba.conf atau postgresql.conf)

Ingat, kami menggunakan Postgresql 8.4 di tumpukan kami, ini terbukti menjadi versi Postgresql yang paling konsisten dan solid untuk dijalankan di Natty Narwhal selama pengujian kami.

Untuk versi Postgresql (9.1, 9.0 dll.) yang berbeda, direktori tempat Anda dapat menemukan kedua file ini tidak sama dengan yang tercantum di atas. Pastikan Anda mengetahui direktori yang tepat untuk file-file ini.

LANGKAH 1

Buka Konsol Manajemen Amazon dan pastikan kedua instans berada di bawah grup keamanan yang sama. Postgresql dan Django menggunakan 5432 dan 8000 secara default, jadi pastikan Anda membuka kedua port tersebut!

LANGKAH 2

(Lakukan ini di terminal pada instance postgresql)

sudo vim postgresql.conf

Tekan "i" pada keyboard Anda untuk mulai membuat perubahan. Gunakan tombol panah bawah sampai Anda menemukan

LISTEN_ADDRESSES:'localhost'

Singkirkan tag hash di depan, dan alih-alih 'localhost', tambahkan IP pribadi instance postgresql Anda (Anda dapat menemukan ip pribadi di konsol manajemen EC2 Anda) dan Anda juga harus menambahkan 127.0.0.1.

CONTOH:

LISTEN_ADDRESSES:'ip pribadi, 127.0.0.1'

Pastikan Anda memisahkan ip pribadi dan alamat host lokal dengan koma dan meninggalkan semuanya di bawah satu kutipan.

Setelah Anda membuat perubahan, tekan ESC dan tekan ZZ (huruf besar dua kali untuk menyimpan perubahan)

LANGKAH 3

sudo vim pg_hba.conf

Gunakan tombol panah bawah sampai Anda menemukan sesuatu yang terlihat seperti ini:

           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

Sekali lagi, tekan 'i' pada keyboard Anda dan buat perubahannya persis seperti yang saya lakukan di atas.

Anda akan melihat di bawah IPv6, saya memiliki Django_db dan Django_login, mengubahnya menjadi nama database postgresql Anda dan login pengguna Anda yang Anda gunakan untuk database postgresql Anda masing-masing.

Setelah Anda membuat perubahan, tekan ESC dan tekan ZZ (huruf besar dua kali untuk menyimpan perubahan)

LANGKAH 4 (Hampir selesai Hi5!)

Mulai ulang server postgresql menggunakan perintah ini di terminal:

sudo /etc/init.d/postgresql restart

Selamat! Server aktif dan berjalan, namun ada satu langkah terakhir.

LANGKAH 5

Jalankan instans Django EC2 Anda, buka settings.py Anda dan cari ini:

 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.
 }

Di bawah 'HOST':' ' , ubah ke 'HOST':'apapun IP pribadi dari instance Postgresql'

Simpan perubahan. Buka terminal dan temukan direktori tempat file manage.py Anda berada. Setelah Anda berada di direktori itu, jalankan perintah berikut:./manage.py syncdb

Ini akan membuat semua tabel yang diperlukan untuk model yang Anda buat di Django. Selamat, Anda telah berhasil membuat tautan antara instans Database dan instans Django Anda.

Jika Anda memiliki pertanyaan, saya akan dengan senang hati membantu! Tinggalkan komentar di bawah dan saya akan menghubungi Anda secepatnya! :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Evolusi Toleransi Kesalahan di PostgreSQL:Perjalanan Waktu

  2. PHP dan Postgres:menangkap kesalahan?

  3. daftar postgresql dan pesan tabel berdasarkan ukuran

  4. Konsep Oracle Ketersediaan Tinggi di PostgreSQL

  5. tidak bisa membuat sisipan PostgreSQL sederhana berfungsi