2015-05-08 11 views
8

मैं एडब्ल्यूएस पर एक वेबसाइट की स्थापना करने की कोशिश कर रहा है करने के लिए और किसी भी मुद्दे मैं निम्नलिखित त्रुटि का सामना बिना eb init और eb create अपनी सेटिंग्स चल रहा है और चुनने के बाद कनेक्ट नहीं हो सका:अंक लचीला बीनस्टॉक उदाहरण स्थापना - सर्वर

ERROR: [Instance: i-f8e3c005 Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: (TRUNCATED)...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 "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?.

मुझे यकीन नहीं है कि यह कनेक्ट करने से इंकार क्यों कर रहा है, लेकिन मुझे संदेह है कि इसकी सुरक्षा सेटिंग्स के साथ कुछ करना है। मुझे पता है कि यह थोड़ा अस्पष्ट है, लेकिन क्या किसी ने पहले इस समस्या में भाग लिया है और आप इसे अंततः कैसे हल कर सकते हैं? EB-activity.log से कोड

execute_from_command_line(sys.argv) 
    File "/opt/python/run/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line 
    utility.execute() 
    File "/opt/python/run/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute 
    django.setup() 
    File "/opt/python/run/venv/local/lib/python2.7/site-packages/django/__init__.py", line 21, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/opt/python/run/venv/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/opt/python/run/venv/local/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/opt/python/bundle/2/app/paypaladaptive/models.py", line 126, in <module> 
    class Payment(PaypalAdaptive): 
    File "/opt/python/bundle/2/app/paypaladaptive/models.py", line 178, in Payment 
    def process(self, receivers, preapproval=None, **kwargs): 

अद्यतन:

INFO: createEnvironment is starting. 
INFO: Using elasticbeanstalk-us-east-1-671186898336 as Amazon S3 storage bucket for environment data. 
INFO: Created security group named: sg-96efb5f2 
INFO: Created load balancer named: awseb-e-v-AWSEBLoa-12ABLMPELT72Q 
INFO: Created security group named: awseb-e-v6mwzkkgjw-stack-AWSEBSecurityGroup-JEYPGZP3YJJG 
INFO: Created Auto Scaling launch configuration named: awseb-e-v6mwzkkgjw-stack-AWSEBAutoScalingLaunchConfiguration-17DLMC0THMKW 
INFO: Created Auto Scaling group named: awseb-e-v6mwzkkgjw-stack-AWSEBAutoScalingGroup-FBCJ1LFH8U38 
INFO: Waiting for EC2 instances to launch. This may take a few minutes. 
INFO: Created Auto Scaling group policy named: arn:aws:autoscaling:us-east-1:671186898336:scalingPolicy:9e2df788-3cee-4f47-917f-a11179972c69:autoScalingGroupName/awseb-e-v6mwzkkgjw-stack-AWSEBAutoScalingGroup-FBCJ1LFH8U38:policyName/awseb-e-v6mwzkkgjw-stack-AWSEBAutoScalingScaleDownPolicy-P6J45PB8N1XA 
INFO: Created Auto Scaling group policy named: arn:aws:autoscaling:us-east-1:671186898336:scalingPolicy:e5a18684-1f95-446d-be29-ad560db7e3e6:autoScalingGroupName/awseb-e-v6mwzkkgjw-stack-AWSEBAutoScalingGroup-FBCJ1LFH8U38:policyName/awseb-e-v6mwzkkgjw-stack-AWSEBAutoScalingScaleUpPolicy-1IV5PENRNB785 
INFO: Created CloudWatch alarm named: awseb-e-v6mwzkkgjw-stack-AWSEBCloudwatchAlarmHigh-K0258EMNK9O3 
INFO: Created CloudWatch alarm named: awseb-e-v6mwzkkgjw-stack-AWSEBCloudwatchAlarmLow-15Z0Z4KVYDGEC 
ERROR: [Instance: i-f8e3c005 Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: (TRUNCATED)...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 "localhost" (127.0.0.1) and accepting 
TCP/IP connections on port 5432?. 
EBExtension container_command 01_migrate failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. 
INFO: Added EC2 instance 'i-f8e3c005' to Auto Scaling Group 'awseb-e-v6mwzkkgjw-stack-AWSEBAutoScalingGroup-FBCJ1LFH8U38'. 

अद्यतन:

पूर्ण उत्पादन इस प्रकार है

निक के सुझाव की कोशिश के बाद मैं एक ही त्रुटि मिली:

ERROR: [Instance: i-d05e9b2f Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: (TRUNCATED)...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 "localhost" (127.0.0.1) and accepting 
TCP/IP connections on port 5432?. 
EBExtension container_command 01_migrate failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 
+0

क्या आप उदाहरण के लिए ssh कर सकते हैं और /var/log/eb-activity.log पर देख सकते हैं ... पोर्ट 5432 पर क्या चल रहा है? आपकी सुरक्षा सेटिंग्स के बारे में क्या खास है? –

+0

आप 'ईबी लॉग' या 'ईबी लॉग्स' - ' –

+0

@NickHumrich चलाकर लॉग भी प्राप्त कर सकते हैं मुझे लॉग नहीं दिख रहा है रोहित लॉग के उस सेट में पूछ रहा था, क्या मुझे कुछ याद आ रहा है? – 114

उत्तर

3

लघु संस्करण: आपका Django ऐप स्थानीय डीबी इंस्टेंस से कनेक्ट करने का प्रयास कर रहा है। आरडीएस उदाहरण का उपयोग करें।

आपके पास बीनस्टॉक नोड के लिए स्थानीय डीबी इंस्टेंस (जैसे PostgreSQL) नहीं हो सकता है। ऐसा इसलिए है क्योंकि यह एक ऑटो-स्केल्ड लोड-संतुलित एप्लिकेशन पर समझ में नहीं आता है, जहां आपके सेवा लोड के आधार पर नोड्स बनाए और नष्ट हो जाते हैं (इसलिए स्थानीय डीबी इंस्टेंस को नष्ट कर दिया जाता है)।

इसे ठीक करने के लिए आपको एक एडब्ल्यूएस आरडीएस उदाहरण का उपयोग करने की आवश्यकता है जो ऑटोस्कलिंग समूह के बाहर है और जो लगातार है। अपनी सेटिंग्स में, होस्ट, उपयोगकर्ता नाम और पासवर्ड का उपयोग आरडीएस उदाहरण बनाने के लिए किया जाता है। आरडीएस उदाहरण (उदाहरण के लिए PostgreSQL के लिए 5432) को आवंटित सुरक्षा समूह पर उचित बंदरगाहों को खोलना याद रखें।

+0

धन्यवाद। डाटाबेस बनने के बाद डेटाबेस को बनाने के लिए होस्ट को कहां मिल सकता है? क्या यह एंडपॉइंट जैसा ही है? – 114

+0

आपके डीजेंगो सेटिंग्स में उपयोग करने वाला होस्ट आपके आरडीएस इंस्टेंस के अंत बिंदु है, जैसे ** yourinstancename.cl2iy3tbhts3.eu-west-2.rds.amazonaws.com: 5432 ** – Sdra

1

ऐसा लगता है कि आपका उदाहरण पोर्ट 5342 पर खुद से जुड़ने की कोशिश कर रहा है। अगर आपको इस कार्यक्षमता की आवश्यकता है, तो आप इसे काम करने के लिए पोर्ट 5342 खोल सकते हैं।

ऐसा करने का एक तरीका .ebextensions के साथ है।

अपने प्रोजेक्ट नाम .ebextensions/openport.config में एक फ़ाइल बनाएं और इसमें निम्न डालें।

Resources: 
    databaseSecurityGroupIngress: 
    Type: AWS::EC2::SecurityGroupIngress 
    Properties: 
     GroupName: {Ref : AWSEBSecurityGroup} 
     IpProtocol: tcp 
     ToPort: 5432 
     FromPort: 5432 
     CidrIp: 0.0.0.0/0 

(यदि आवश्यक हो तो कमिट फ़ाइल) तो eb create आज़माएं।

+0

दुर्भाग्यवश एक ही त्रुटि में परिणाम हुआ। – 114

+0

त्रुटि आपके माइग्रेट चरण से आती है। आपको एक उदाहरण में ssh'ing करने की कोशिश करनी चाहिए, 'eb ssh' और इसे मैन्युअल रूप से चलाने की कोशिश करनी चाहिए। (केवल डीबगिंग उद्देश्यों के लिए)। –

+0

'eb ssh' बिना किसी समस्या के काम किया। एसएसएच के माध्यम से मैन्युअल रूप से चलाने के बारे में कोई कैसे जाता है? – 114

संबंधित मुद्दे