2012-12-02 13 views
11

चलाता है मैं अपने एडब्ल्यूएस EC2 (माइक्रो) उदाहरण पर उल्का (ढांचा) स्थापित करने और निर्देशों का पालन किया है और एक परीक्षण परियोजना बनाने के बाद मुझे लगता है कि निर्देशिका मुझे उम्मीदनियंत्रित करने के लिए कैसे जहां उल्का

[[[[[ /var/www/html/meteortest ]]]]] 

Running on: http://localhost:3000/ 
देने पर meteor दौड़ा कर रहा हूँ

लेकिन मैं हैलो वर्ल्ड उदाहरण प्रोजेक्ट देखने के लिए अपने ब्राउज़र के अपने सर्वर के स्थानीयहोस्ट पर नेविगेट नहीं कर सकता। वहाँ एक तरह से मैं की तरह कुछ पर उल्का से कार्य करवा सकते है:

http://mydomain.com/meteortest/ 

या

http://mydomain.com/meteortest:3000 
+0

मैंने अभी ईसी 2 का उपयोग शुरू किया है और एक सप्ताह पहले किसी भी सर्वर का काम नहीं किया है। मैं निश्चित रूप से एक n00b हूँ। –

+0

क्या आप इस सर्वर को विकसित या तैनात कर रहे हैं? –

+0

@ टॉमकोलमैन डेवलपिंग। –

उत्तर

11

तरीका है कि उल्का रूट URL सेट एक वातावरण चर कहा ROOT_URL का उपयोग करना है/"उल्का 80

--port हालांकि, अगर आप उल्का उदाहरण फ़ोल्डर से परोसा करना चाहते हैं (जैसे http://mydomain.com/meteortest), आप अग्रेषित करना बंदरगाहों (Tyr के उदाहरण देखें) लेकिन लाइन की जगह nginx का उपयोग करना होगा:

location/{ 

साथ:

location /meteortest { 

और अपने ROOT_URL उचित रूप से बदल जाते हैं। यदि आप अभी भी अपने डोमेन को बाहर से नहीं एक्सेस कर सकते हैं, तो आपने EC2 के लिए अपने सुरक्षा समूह को ठीक से सेट नहीं किया हो सकता है। आपको पोर्ट 80 खोलना होगा। यह कैसे करें इस बारे में अधिक जानकारी यहां हो सकती है: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/using-network-security.html

+1

यह विशेष रूप से सहायक है यदि आप किसी भी खाते- * पैकेज का परीक्षण करना चाहते हैं लोकहोस्ट (या यदि आपके पास एक डोमेन है जो आपके काम के पर्यावरण के आईपी पते पर मेरे जैसा है)। – mmmeff

7

आप कर सकते हैं जो आपके डोमेन पर प्रॉक्सी पोर्ट 3000 करने के लिए सेटअप nginx। कुछ ऐसा:

server { 
    listen 80; 
    server_name meteortest.mydomain.com; 
    access_log /var/log/nginx/meteortest.access.log; 
    error_log /var/log/nginx/tmeteortest.error.log; 
    location/{ 
    proxy_pass http://localhost:3000; 
    include /etc/nginx/proxy_params; 
    } 
} 

अधिक जानकारी के लिए कृपया http://wiki.nginx.org/HttpProxyModule देखें।

हालांकि, बंदरगाह 3000 पर चलने वाला उल्का एक विकास वातावरण है। यदि आप इसे उत्पादन में उपयोग करना चाहते हैं, तो कृपया "उल्का बंडल" चलाएं, और उसके बाद उत्पन्न टैरबॉल के अंदर README का पालन करें।

4

मुझे लगता है कि समस्या यह है कि पोर्ट 3000 को अमेज़ॅन की फ़ायरवॉल द्वारा अवरुद्ध कर दिया गया है। आप इसे खोलने पर दिखाई दे सकता है, Tyr के समाधान की कोशिश, या बस

meteor --port 80 

(अर्थात sudo) आप रूट अनुमतियों की आवश्यकता हो सकती साथ उल्का चल रहा यह करने के लिए प्रयास करें।

http://docs.meteor.com/#meteor_absoluteurl

तो तुम इतनी तरह अपने उल्का उदाहरण पड़ सकते है:: ROOT_URL = "http://mydomain.com

1

पोर्ट 80 पर सीधे चलने के लिए रूट विशेषाधिकारों की आवश्यकता होगी, जिन्हें आप वास्तव में अपने वेब सर्वर को चलाने के लिए नहीं चाहते हैं यह एक नियमित उपयोगकर्ता के लिए जड़ और deescalating के रूप में संभव है, लेकिन वास्तव में आदर्श भी नहीं है, क्योंकि आप पाते हैं कि कुछ समय में एक प्रोग्रामिंग बग निजी को खत्म करने के लिए भूल जाता है और आप उससे कोई त्रुटि नहीं देख पाएंगे।

कई मामलों में, मैं वास्तव में एकाधिक कोर का उपयोग करने के लिए लोड बैलेंसर चलाने की आवश्यकता नहीं चाहता हूं, खासकर अगर मैं एडब्ल्यूएस सिंगल कोर टी 1 या टी 2 इंस्टेंस प्रकारों पर चल रहा हूं, जिसे मैं बस स्केल करता हूं उन्हें - इसलिए सबसे अच्छा सलाह मैं seen बस इस

$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp \ 
          --dport 80 -j REDIRECT --to-port 3000 

अच्छा और आसान है और कुछ नहीं करने के लिए की तरह, बंदरगाह 3000 को पोर्ट अग्रेषण, मानचित्रण पोर्ट 80 करने के लिए लिनक्स कर्नेल क्षमता का उपयोग करने के लिए है है - और अनुरोधों को पूरा करने में कोई अतिरिक्त प्रक्रिया शामिल नहीं होने पर एक ही समय में सुपर कुशल।

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