2010-06-06 11 views
7

आदर्शएक वेबसर्वर पर एकाधिक रूबी संस्करण?

rvm का उपयोग करना, यह एक वेब सर्वर पर एक से अधिक माणिक के लिए सक्षम होने के लिए भयानक होगा, और सर्वर विन्यास किसी तरह की, विभिन्न रेल/सिनात्रा/आदि क्षुधा को रूबी संस्करण आवंटित करने में सक्षम हो प्रति परियोजना आधार पर।

मुझे पता है, आरवीएम के दस्तावेज से, यात्री केवल एक रूबी के साथ काम करता है। :(

समझौता

असफल कि, यह अच्छा होगा करने के लिए कम से कम एक तरह से गढ़ना एक रूबी 1.8 या रूबी 1.9 दुभाषिया के लिए परियोजनाओं आवंटित करने के लिए सक्षम होने के लिए सक्षम हो। मैं पढ़ा है कि एक रिवर्स प्रॉक्सी के रूप में Nginx का उपयोग करने से एक ही बॉक्स पर अपाचे और निजिनक्स चलने की अनुमति मिलती है। क्या अपाचे + पैसेंजर एक रूबी और नग्गीक्स + पैसेंजर का उपयोग करके अलग-अलग हो सकता है? शायद यात्री के अलावा नागिनक्स के अलावा कुछ और उपयोग करें?

क्या मैं गलत पेड़ को बरकरार कर रहा हूं?

क्या मुझे इस मुद्दे का अच्छा समाधान याद आ रहा है? क्या मैं एक दुःस्वप्न विन्यास स्थिति में चल रहा हूँ? क्या मैं भी व्यवहार्य चाहता हूं, या एक अलग रूबी संस्करण चलाने के लिए एक और बॉक्स चलाने के लिए आवश्यक है?

+0

मुझे यकीन नहीं है कि यह कितना व्यवहार्य है, लेकिन प्रत्येक प्रक्रिया के लिए अलग-अलग उपयोगकर्ता खाते का उपयोग करके आप प्रत्येक अलग रूबी (या शायद प्रति उपयोगकर्ता केवल 1 उपयोगकर्ता) के तहत चलाना चाहते हैं। – x1a4

+0

वर्चुअलाइजेशन एक विकल्प है? यदि कोई कारण है कि आप एकाधिक रूबी संस्करण नहीं चला सकते हैं, तो आप वर्चुअल सर्वर को अन्य संस्करण के साथ चला सकते हैं, इसलिए प्रत्येक ओएस इंस्टॉल में केवल एक ही है। – Ken

उत्तर

0

एक ही रूबी संस्करण पर अपनी सभी परियोजनाओं (या कम से कम एक सर्वर पर) रखने के बारे में क्या? पुराने संस्करण का उपयोग कर या पुरानी परियोजनाओं को अपग्रेड करना?

मुझे लगता है, इस तरह आपको सबसे कम समस्याएं हैं।

+0

क्योंकि रुबी 1.8 पर रहना बहुत वांछनीय नहीं है। और क्योंकि बॉक्स पर चलने वाली हर चीज हमारी नहीं है, और हमारे लिए हमारे पूरे समय को रेडमाइन 1.9 संगत बनाने के लिए बिल्कुल सही नहीं है (उदाहरण के लिए)। इसके अलावा, कम से कम आदर्श सेटअप में, रूबी पर परियोजनाओं को चलाने के लिए वास्तव में अच्छा होगा, जिन्हें मूल रूप से लिखा गया था। मेरा मतलब है, आरवीएम के साथ, सर्वर में बैठे इन रूबी हैं, यह अच्छा होगा कि प्रत्येक प्रोजेक्ट उन्हें इस्तेमाल करने में सक्षम हो! – Legion

1

आप थिन या यूनिकॉर्न का उपयोग Nginx के साथ कर सकते हैं। आप प्रति प्रोजेक्ट रूबी संस्करण सेट करने के लिए एक ईश्वर स्क्रिप्ट या कुछ अन्य स्टार्टअप स्क्रिप्ट लिखने के बजाय (या बस थिन/यूनिकॉर्न मैन्युअल रूप से शुरू करें) लिख सकते हैं।

+0

यदि आपके पास आरवीएम के बारे में और प्रश्न हैं, तो लोग #rvm चैनल में freenode पर 24/7 मदद करने के इच्छुक हैं: http://webchat.freenode.net/?channels=rvm। –

0

समझौता संभव है। आप इसे विभिन्न तरीकों से कर सकते हैं, लेकिन शायद सबसे आसान एक रिवर्स प्रॉक्सी है जो कई चिड़ियादार रूबी + वेबसर्वर + रेल के साथ मिलकर सुविधाजनक लगता है।

1

एकाधिक छोटी वर्चुअल मशीनों का उपयोग करें?

+0

यदि यह मैं था, तो मैं 1.9 के लिए एक नया वीएम/टुकड़ा स्थापित करता था और उस पर ऐप्स माइग्रेट करता था। – wesgarrison

2

इस पोस्ट को चेक करें: Phusion Passenger & running multiple Ruby versions आधिकारिक फ़्यूज़न ब्लॉग से। यह यात्री स्टैंडअलोन को रिवर्स प्रॉक्सी के रूप में उपयोग करके समस्या का समाधान करता है।

0

यदि आप मैक ओएस एक्स का उपयोग कर रहे हैं, तो आप POW! देख सकते हैं, जो एकाधिक रूबीज़ को संभाल सकता है। hoof नामक एक लिनक्स विकल्प है, जो विकसित नहीं है लेकिन करीब हो रहा है।