जैसा कि ज़ेड जेड कोडर ने पहले से ही लोड बैलेंसर का उल्लेख किया है, विशेष रूप से बड़ी तैनाती के लिए एक अच्छा समाधान है। अपनी खुद की परियोजना के लिए मैं nginx वेब सर्वर की रिवर्स http प्रॉक्सी कार्यक्षमता का उपयोग करता हूं। यह सभी http पैकेट को किसी निर्दिष्ट वेब संदर्भ (इंटरनेट से देखा गया) से मेरे नेटवर्क के अंदर एक सर्वर पर रीडायरेक्ट करता है।विन्यास वास्तव में आसान है:
location /best-app-ever/ { proxy_pass host-address:8080/some-app-1.1 root /home/www/some-app-1.1 }
स्विचिंग संस्करण के रूप में अच्छी तरह से चिकनी किया जाना चाहिए। यह मानते हुए कि आप पहले से ही आवेदन के नए संस्करण तैनात किया है सिर्फ nginx विन्यास फाइल को बदलने और लागू परिवर्तन:
location /best-app-ever/ { proxy_pass host-address:8080/some-app-1.2 root /home/www/some-app-1.2 }
sudo nginx -t
sudo service nginx restart
चेतावनी दी हो कि इस मामले में अपने वेब अनुप्रयोग स्टेटफुल है और/या शामिल कुछ चल रहे या अनुसूचित प्रक्रियाओं, तैनाती और अनावश्यकता चिकनी नहीं हो सकती है।
सर्वर क्यों रोकें, फ़ाइल अपडेट करें, सर्वर को पुनरारंभ करें और न केवल अनावश्यक/तैनाती करें? हमारे पास हमारे उत्पादन सर्वर पर कई .war वेबपैप्स हैं और आम तौर पर केवल अनावश्यक/पुन: नियोजन: पूरे वेबपेज के साथ पूरे सर्वर को लेने की आवश्यकता नहीं है !? – NoozNooz42
@nooz: ठीक है, मैं केवल सर्वर पर 1 एप चलाता हूं। मैं जेटी के साथ फिर से तैनाती करने पर कोई ट्यूटोरियल/मार्गदर्शिका नहीं ढूंढ पा रहा था, मुझे लगता है कि तेजी से विकास – stephanos
के लिए यह कैसे करना है ओह मैं देखता हूं ... मुझे जेट्टी के बारे में पता नहीं है (शायद अन्य टिप्पणी करेंगे) । लेकिन टॉमकैट के साथ एक एकल .war को अनावश्यक/पुन: नियोजित करने के कई तरीके हैं (मैं इसे चींटी कार्य से करता था लेकिन अब मैं प्रबंधक ऐप का उपयोग कर रहा हूं)। यह टॉमकैट को बंद/पुनरारंभ करने के लिए आवश्यक समय बचाता है। – NoozNooz42