PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thiết lập Django và PostgreSQL trên hai phiên bản EC2 khác nhau

HỖ TRỢ AMAZON

Vì vậy, tôi đã kết thúc cuộc nói chuyện với những người ở Amazon sau câu trả lời của David Wolever. Đề phòng bất kỳ ai trong số các bạn gặp lại bài viết này. Chỉ sử dụng IP máy chủ nội bộ là không đủ, tuy nhiên đây là một khởi đầu tốt. Nếu bạn đang chạy Ubuntu cho phiên bản Postgresql của mình (tốt nhất là Natty Narwhal), hãy đảm bảo rằng bạn chỉnh sửa các tệp pg_hba.conf và postgresql.conf.

Bạn thường có thể tìm thấy hai tệp đó tại:/etc/postgresql/8.4/main/(pg_hba.conf hoặc postgresql.conf)

Xin lưu ý bạn, chúng tôi đang sử dụng Postgresql 8.4 trong ngăn xếp của mình, nó được chứng minh là phiên bản Postgresql nhất quán và vững chắc nhất để chạy trên Natty Narwhal trong các thử nghiệm của chúng tôi.

Đối với các phiên bản khác nhau của Postgresql (9.1, 9.0, v.v.), thư mục mà bạn có thể tìm thấy hai tệp này không giống như được liệt kê ở trên. Đảm bảo rằng bạn biết thư mục thích hợp cho các tệp này.

BƯỚC 1

Truy cập Bảng điều khiển quản lý Amazon và đảm bảo rằng cả hai phiên bản đều thuộc cùng một nhóm bảo mật. Postgresql và Django sử dụng 5432 và 8000 theo mặc định, vì vậy hãy đảm bảo rằng bạn đã mở hai cổng đó!

BƯỚC 2

(Thực hiện việc này trên thiết bị đầu cuối của phiên bản postgresql)

sudo vim postgresql.conf

Nhấn "i" trên bàn phím của bạn để bắt đầu thực hiện các thay đổi. Sử dụng phím mũi tên xuống cho đến khi bạn bắt gặp

LISTEN_ADDRESSES:'localhost'

Loại bỏ thẻ băm ở phía trước và thay vì 'localhost', hãy thêm IP riêng của phiên bản postgresql của bạn (bạn có thể tìm thấy ip riêng trên bảng điều khiển quản lý EC2 của mình) và bạn cũng phải thêm 127.0.0.1.

VÍ DỤ:

LISTEN_ADDRESSES:'ip riêng, 127.0.0.1'

Đảm bảo rằng bạn tách riêng ip riêng và địa chỉ máy chủ cục bộ bằng dấu phẩy và để tất cả dưới một dấu ngoặc kép.

Khi bạn đã thực hiện các thay đổi, nhấn ESC và nhấn ZZ (viết hoa hai lần để lưu các thay đổi)

BƯỚC 3

sudo vim pg_hba.conf

Sử dụng phím mũi tên xuống cho đến khi bạn gặp thứ gì đó giống như sau:

           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

Một lần nữa, hãy nhấn 'i' trên bàn phím của bạn và thực hiện các thay đổi đối với nó theo cách chính xác của tôi ở trên.

Bạn sẽ nhận thấy trong IPv6, tôi có django_db và django_login, hãy thay đổi nó thành tên của cơ sở dữ liệu postgresql của bạn và thông tin đăng nhập người dùng mà bạn sử dụng cho cơ sở dữ liệu postgresql của mình tương ứng.

Khi bạn đã thực hiện các thay đổi, nhấn ESC và nhấn ZZ (viết hoa hai lần để lưu các thay đổi)

BƯỚC 4 (Sắp hoàn thành Hi5!)

Khởi động lại máy chủ postgresql bằng lệnh này trong terminal:

sudo /etc/init.d/postgresql khởi động lại

Chúc mừng! Máy chủ đang hoạt động, tuy nhiên còn một bước cuối cùng.

BƯỚC 5

Kích hoạt phiên bản Django EC2 của bạn, đi tới settings.py của bạn và tìm kiếm cái này:

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

Trong 'HOST':'', thay đổi nó thành 'HOST':'bất kể IP riêng của phiên bản Postgresql là gì'

Lưu các thay đổi. Mở một thiết bị đầu cuối và tìm thư mục chứa tệp tin management.py của bạn. Khi bạn đã ở trong thư mục đó, hãy chạy lệnh sau: ./manage.py syncdb

Chúng sẽ tạo tất cả các bảng cần thiết cho các mô hình bạn đã tạo trong Django. Xin chúc mừng, bạn đã tạo thành công một liên kết giữa cá thể Cơ sở dữ liệu và cá thể Django của bạn.

Nếu bạn có bất kỳ câu hỏi nào, tôi rất sẵn lòng trợ giúp! Để lại bình luận bên dưới và tôi sẽ liên hệ lại với bạn CÀNG SỚM CÀNG TỐT! :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Toán tử không tồn tại:json =json

  2. Chèn Từ điển Python bằng Psycopg2

  3. Postgres - Chuyển đổi hàng thành cột

  4. Làm thế nào để tạo một chuỗi phân vùng PostgreSQL?

  5. Cách ẩn trang trí tập hợp kết quả trong đầu ra Psql