2015-10-21 13 views
7

के माध्यम से उल्का ऐप को तैनात करना मीटोर अप (या अन्य उल्का ऐप मॉड्यूलस जैसी प्रक्रियाओं को तैनात करने) की प्रक्रिया में थोड़ा सा उत्सुकता है, आपके उल्का अनुप्रयोग की प्रतिलिपि बनाने, टीएमक्स सत्र शुरू करने और बस चलने की तुलना में कुछ भी उत्सुकता है meteor अपने सर्वर पर अपना आवेदन शुरू करने के लिए। धन्यवाद अग्रिम धन्यवाद!उल्का अप या टीएमयूक्स उल्का

उत्तर

12

उल्का ऊपर और मॉड्यूलस सिर्फ node.js और Mongodb चलाने के लिए प्रतीत होता है। meteor build के साथ उत्पादन के लिए पैक किए जाने के बाद वे आपके ऐप को चलाते हैं। यह शायद आपके ऐप को प्रदर्शन में बढ़त देगा।

यह सिर्फ एक tmux या स्क्रीन सत्र में उल्का को चलाने के लिए संभव है। मैं सेटिंग पास करने के लिए meteor run --settings settings.json --production का उपयोग करता हूं और उत्पादन मोड का भी उपयोग करता हूं जो कोड को छोटा करता है। आप पोर्ट 80 (http) और 443 (https) के अनुरोधों को अग्रेषित करने के लिए Nginx जैसे प्रॉक्सी फॉरवर्डर का भी उपयोग कर सकते हैं।

संदर्भ के लिए यहाँ मेरी Nginx config है:

server { 
    listen 80; 
    server_name example.com www.example.com; 
    return 301 https://example.com$request_uri; 
} 

server { 
    listen 443 ssl; 
    server_name www.example.com; 

    ssl_certificate /etc/ssl/private/example.com.unified.crt; 
    ssl_certificate_key /etc/ssl/private/example.com.ssl.key; 

    return 301 https://example.com$request_uri; 
} 

server { 
    listen 443 ssl; 
    server_name example.com; 

    ssl_certificate /etc/ssl/private/example.com.unified.crt; 
    ssl_certificate_key /etc/ssl/private/example.com.ssl.key; 



    location/{ 
    proxy_pass http://localhost:3000; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_set_header Host $host; 
    proxy_set_header X-NginX-Proxy true; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

इस विधि का उपयोग कर सब कुछ उल्का कंटेनर के भीतर निहित है करके और आप परिवर्तन के लिए देख उल्का का लाभ आदि हालांकि, कुछ अतिरिक्त हो सकता है अपने सर्वर पर ओवरहेड। मुझे यकीन नहीं है कि मैंने कितने तरीकों का परीक्षण नहीं किया है।

समस्या सिर्फ मैं इस विधि का उपयोग कर पाया है है यह रिबूट पर स्वचालित सब कुछ, के रूप में या हमेशा के लिए Node.js की तरह विशेष रूप से डिजाइन उपकरण का उपयोग कर के लिए विरोध किया पाने के लिए स्वचालित रूप से tmux चल तो उल्का शुरू करने की तरह है, आसान नहीं है पीएम 2 जो सर्वर रीबूट होने पर स्वचालित रूप से प्रारंभ होता है। तो आपको सर्वर पर मैन्युअल रूप से लॉग इन करना होगा और meteor चलाएं। यदि आप tmux या स्क्रीन का उपयोग करके ऐसा करने का एक आसान तरीका काम करते हैं तो मुझे बताएं।

संपादित करें:

sudo -H -u ubuntu -i /usr/bin/tmux new-session -d '/home/ubuntu/Sites/meteorapp/run_meteorapp.sh' 

यह आदेश एक tmux सत्र के अंदर run_meteorapp.sh खोल स्क्रिप्ट चलाता है:

मैं /etc/rc.local फ़ाइल में निम्न पंक्ति के साथ सिस्टम बूट पर शुरू करने के लिए उल्का पाने में कामयाब रहे है एक बार सिस्टम बूट हो गया है। Run_meteorapp.sh में मेरे पास है:

#!/usr/bin/env bash 
(cd /home/ubuntu/Sites/meteorapp && exec meteor run --settings settings.json --production) 
5

यदि आप उल्का अप गितब पेज को देखते हैं: https://github.com/arunoda/meteor-up आप देख सकते हैं कि यह क्या करता है।

जैसे:

विशेषताएं

एकल आदेश सर्वर सेटअप एकल आदेश तैनाती मल्टी सर्वर तैनाती पर्यावरण चर प्रबंधन के लिए settings.json पासवर्ड या निजी कुंजी (पीईएम) समर्थन आधारित सर्वर प्रमाणीकरण एक्सेस, टर्मिनल से लॉग (लॉग टेलिंग का समर्थन करता है) एकाधिक उल्का तैनाती (प्रयोगात्मक)

01 के लिए समर्थन

सर्वर विन्यास

ऑटो पुनरारंभ एप्लिकेशन (हमेशा के लिए उपयोग करते हुए) स्वत: प्रारंभ सर्वर रिबूट के बाद (नवोदय का प्रयोग करके) Stepdown उपयोगकर्ता विशेषाधिकार, पिछले संस्करण में वापस अगर तैनाती MongoDB सुरक्षित विफल दुर्घटनाग्रस्त हो गया है, तो स्थापना (वैकल्पिक) पूर्व स्थापित PhantomJS (वैकल्पिक)

तो हाँ ... यह एक बहुत अधिक है ...

3

Mupx और भी कुछ करता है। यह डॉकर का लाभ लेता है। यह विकास संस्करण है, लेकिन मैं 1.2

अधिक जानकारी के लिए उल्का को अद्यतन करने GitHub रेपो में पाया जा सकता बाद यह MUP तुलना में अधिक विश्वसनीय होना करने के लिए मिल गया है: https://github.com/arunoda/meteor-up/tree/mupx

1

मैं डिजिटल सागर को तैनात करने के लिए mupx उपयोग किया गया है । एक बार जब आप mup.json फ़ाइल सेट अप कर लेंगे तो आप केवल ऐप को ही तैनात नहीं कर सकते हैं, लेकिन आप आसानी से सीएलआई के माध्यम से सर्वर पर कोड भी अपडेट कर सकते हैं। कुछ अन्य आदेश भी हैं जो उपयोगी हैं।

mupx reconfig - reconfigs वातावरण चर के साथ एप्लिकेशन
mupx stop - बंद हो जाता है एप्लिकेशन ओह
mupx start - ...
mupx restart - ...
mupx logs [-f --tail=100] - इस लॉग जब आप तैनाती त्रुटियों का सामना करना है जो बेहद सहायक हो सकता है हो जाता है।

यह निश्चित रूप से आपके ऐप को अपडेट करना आसान बनाता है, और मैं इसके साथ बहुत खुश हूं।

Mupx MeteorD (Docker Runtime for Meteor Apps) का उपयोग करता है और बाद से यह डोकर का उपयोग करता है यह वास्तव में इस आदेश के साथ ssh के माध्यम से MongoDB खोल उपयोग करने के लिए उपयोगी हो सकता है:

docker exec -it mongodb mongo <appName> 

यह एक शॉट दे दो!