अमेज़न सपोर्ट
इसलिए मैंने डेविड वूल्वर के जवाब के बाद अमेज़ॅन के लोगों से बात करना समाप्त कर दिया। बस अगर आप में से कोई भी इस पोस्ट को फिर से देखता है। अकेले आंतरिक सर्वर आईपी का उपयोग करना पर्याप्त नहीं है, हालांकि यह एक अच्छी शुरुआत है। यदि आप अपने Postgresql उदाहरण (अधिमानतः Natty Narwhal) के लिए Ubuntu चला रहे हैं, तो सुनिश्चित करें कि आपने pg_hba.conf और postgresql.conf फ़ाइलों को संपादित किया है।
आप आमतौर पर उन दो फाइलों को यहां ढूंढ सकते हैं:/etc/postgresql/8.4/main/(pg_hba.conf या postgresql.conf)
ध्यान रहे, हम अपने स्टैक में Postgresql 8.4 का उपयोग कर रहे हैं, यह हमारे परीक्षणों के दौरान Natty Narwhal पर चलने के लिए Postgresql का सबसे सुसंगत और ठोस संस्करण साबित हुआ।
Postgresql (9.1, 9.0 आदि..) के विभिन्न संस्करणों के लिए जिस निर्देशिका में आप इन दो फाइलों को ढूंढ सकते हैं वह ऊपर सूचीबद्ध के समान नहीं है। सुनिश्चित करें कि आप इन फ़ाइलों के लिए उचित निर्देशिका जानते हैं।
चरण 1
अमेज़ॅन प्रबंधन कंसोल पर जाएं और सुनिश्चित करें कि दोनों उदाहरण एक ही सुरक्षा समूह के अंतर्गत हैं। Postgresql और Django डिफ़ॉल्ट रूप से 5432 और 8000 का उपयोग करते हैं, इसलिए सुनिश्चित करें कि आपके पास वे दो पोर्ट खुले हैं!
चरण 2
(इसे पोस्टग्रेस्क्ल इंस्टेंस पर टर्मिनल पर करें)
sudo vim postgresql.conf
परिवर्तन करना शुरू करने के लिए अपने कीबोर्ड पर "i" दबाएं। नीचे तीर कुंजी का उपयोग तब तक करें जब तक आप
. पर न आ जाएंLISTEN_ADDRESSES:'लोकलहोस्ट'
सामने हैश टैग से छुटकारा पाएं, और 'लोकलहोस्ट' के बजाय, अपने पोस्टग्रेस्क्ल इंस्टेंस का निजी आईपी जोड़ें (आप अपने ईसी 2 प्रबंधन कंसोल पर निजी आईपी पा सकते हैं) और आपको 127.0.0.1 भी जोड़ना होगा।
उदाहरण:
LISTEN_ADDRESSES:'निजी आईपी, 127.0.0.1'
सुनिश्चित करें कि आप निजी आईपी और स्थानीय होस्ट पते को अल्पविराम से अलग करते हैं और इसे एक उद्धरण के तहत छोड़ देते हैं।
एक बार परिवर्तन करने के बाद, ESC दबाएं और ZZ दबाएं (परिवर्तनों को सहेजने के लिए दो बार कैप में)
चरण 3
सुडो विम 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 है, इसे अपने पोस्टग्रेस्क्ल डेटाबेस और अपने उपयोगकर्ता लॉगिन के नाम में बदलें, जिसका उपयोग आप क्रमशः अपने पोस्टग्रेस्क्ल डेटाबेस के लिए करते हैं।
एक बार परिवर्तन करने के बाद, ESC दबाएं और ZZ दबाएं (परिवर्तनों को सहेजने के लिए दो बार कैप में)
चरण 4 (लगभग Hi5 हो गया!)
टर्मिनल में इस कमांड का उपयोग करके पोस्टग्रेस्क्ल सर्वर को पुनरारंभ करें:
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' में बदलें:'Postgresql उदाहरण का निजी IP जो भी हो'
परिवर्तनों को सुरक्षित करें। एक टर्मिनल खोलें और उस निर्देशिका को खोजें जहाँ आपकी manage.py फ़ाइल है। एक बार जब आप उस निर्देशिका में हों तो निम्नलिखित कमांड चलाएँ:./manage.py syncdb
ये आपके द्वारा Django में बनाए गए मॉडल के लिए सभी आवश्यक टेबल तैयार करेंगे। बधाई हो, आपने सफलतापूर्वक अपने डेटाबेस इंस्टेंस और अपने Django इंस्टेंस के बीच एक लिंक बना लिया है।
यदि आपके कोई प्रश्न हैं, तो मुझे मदद करने में खुशी होगी! नीचे एक टिप्पणी छोड़ दो और मैं ASAP आपके पास वापस आऊंगा! :)