लेखों की इस श्रृंखला में, हम अपाचे वेब सर्वर (httpd) और उबंटू का उपयोग करके उत्पादन में Payara सर्वर का उपयोग करने की मूल बातें का अवलोकन देने का प्रयास करेंगे। कई अवधारणाएं उन उपकरणों पर भरोसा नहीं करती हैं जिनका हम यहां उपयोग करते हैं और अन्य परिदृश्यों पर लागू किया जा सकता है।
हमारा लक्ष्य निम्नलिखित को कॉन्फ़िगर करना है:

यहां हमारे पास एक अपाचे वेब सर्वर है जो हमारे उपयोगकर्ताओं के लिए उपलब्ध होगा। उनके अनुरोध Payara सर्वर के दो उदाहरणों में से एक को भेजे जाएंगे। यहां हम यह सुनिश्चित करने के लिए सत्रों के JSESSIONID कुकी-आधारित "ग्लूइंग" का उपयोग कर रहे हैं कि यह सुनिश्चित करने के लिए कि प्रत्येक उपयोगकर्ता समान Payara सर्वर के साथ बातचीत करता है, साथ ही सत्र प्रतिकृति, यह सुनिश्चित करने के लिए कि यदि एक Payara सर्वर विफल रहता है, तो दूसरा मौजूदा सत्रों को संभाल सकता है कोई बात नहीं।
हम मानते हैं कि अपाचे वेब सर्वर पहले से स्थापित और कॉन्फ़िगर है। हमारा अगला कदम Payara Server पर ट्रैफ़िक भेजने के लिए अनुरोध अग्रेषित करना है।
अनुरोध अग्रेषण क्या है?
अनुरोध अग्रेषण (या प्रॉक्सी) तब होता है जब वेब ट्रैफ़िक प्राप्त करने वाला सर्वर इसे किसी अन्य गंतव्य पर भेजता है। उनका उपयोग उपयोगकर्ता के वास्तविक स्थान को छिपाने के लिए किया जा सकता है, आंतरिक प्रणालियों को देखने या प्रदर्शन को नियंत्रित करने के लिए नहीं। अधिकांश वेब सर्वरों की तरह, अपाचे वेब सर्वर को उन मॉड्यूलों के साथ पूरक किया जा सकता है जो इसे सर्वर को अग्रेषित करने और प्रॉक्सी के माध्यम से प्रतिक्रिया भेजने में सक्षम बनाते हैं। इसका मतलब है कि आप अपाचे को एक मध्यस्थ के रूप में उपयोग कर सकते हैं, जो पोर्ट नंबर या सटीक आईपी पते निर्दिष्ट करने की आवश्यकता को समाप्त करता है और उपयोगकर्ता को एक ही सर्वर से प्रतिक्रियाएं प्राप्त करने की अनुमति देता है (बजाय स्थानीयहोस्ट पर क्लिक करने और स्थानीयहो लेबल वाले एक पता बार होने की अनुमति देता है: 8080 )।
अपाचे वेब सर्वर और Payara सर्वर के बीच अनुरोध अग्रेषण कॉन्फ़िगर करें
इस पोस्ट में, हम उबंटू रिपॉजिटरी में उपलब्ध पैकेज को देखेंगे। उबंटू पैकेज में अपाचे बायनेरीज़ हैं, लेकिन कॉन्फ़िगरेशन फ़ाइलों के प्रबंधन के लिए अतिरिक्त "सहायक उपकरण" भी हैं। उबंटू 18 में, अपाचे को जोड़ने के लिए हमें जिन दो मॉड्यूल्स की आवश्यकता है, वे हम पहले स्थापित किए गए अपाचे 2 पैकेज का हिस्सा हैं। इसका उपयोग करके भंडार से स्थापित किया जा सकता है:
sudo apt install apache2
ध्यान दें कि Ubuntu 16.04 से पहले आपको "apt" के बजाय "apt-get" का उपयोग करना होगा।हम HTTP- अनुरोधों के मूल अग्रेषण - mod_proxy और mod_proxy_http को सक्षम करने के लिए दो मॉड्यूल स्थापित करेंगे। उबंटू में, सहायक उपकरण इन मॉड्यूल की स्थापना को नियंत्रित करते हैं - इसे और भी आसान बनाने के लिए, उपकरण उनकी निर्भरता की तलाश करेंगे और उन्हें शामिल करेंगे। यह उपयोगी है कि mod_proxy_http को काम करने के लिए mod_proxy की आवश्यकता है, जिसका अर्थ है कि हमारी टीम इस तरह दिखती है:
sudo a2enmod proxy_http
ध्यान दें कि इन आदेशों में हम उपसर्ग "mod_" को छोड़ सकते हैं

यदि आप मॉड्यूल को अक्षम करना चाहते हैं, तो a2enmod के लिए एक सहायक उपकरण है जिसे a2dismod कहा जाता है, जो उसी तरह से उपयोग किया जाता है। उपकरण ने एक निर्भरता का पता लगाया और mod_proxy को भी शामिल किया। यदि आपके पास कई मॉड्यूल हैं जिन्हें आप सक्रिय करना चाहते हैं, तो आप उन्हें प्रॉक्सी_http के बाद जोड़ सकते हैं, उन्हें रिक्त स्थान के साथ अलग कर सकते हैं ...
हम सर्वर को बाद में फिर से शुरू करेंगे, क्योंकि हमें कॉन्फ़िगरेशन बदलने की भी आवश्यकता है।
Ubuntu में Apache2 पैकेज में एक उदाहरण साइट कॉन्फ़िगरेशन है जिसे "000-डिफ़ॉल्ट" कहा जाता है। इस साइट के लिए कॉन्फ़िगरेशन फ़ाइल / etc / apache2 / साइट्स-उपलब्ध फ़ोल्डर में स्थित है और इसमें साइट-सक्षम फ़ोल्डर में एक प्रतीकात्मक लिंक है।
अपाचे कॉन्फ़िगरेशन फ़ाइल संरचना
एक नियम के रूप में, आप देखेंगे कि इंटरनेट मैनुअल httpd.conf को संपादन के लिए कॉन्फ़िगरेशन फ़ाइल के रूप में संदर्भित करता है। यह सिर्फ "मूल" डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल है। डेबियन / उबंटू सिस्टम (और उनके डेरिवेटिव्स, जैसे लिनक्स मिंट) पर, खोज फ़ाइल apache2.conf है।
यह फ़ाइल पढ़ी जाती है, और इसके निर्देशों को ऊपर से नीचे तक लागू किया जाता है, इसलिए यदि एक ही संपत्ति के लिए दो अलग-अलग मान निर्धारित किए जाते हैं, तो दूसरा लागू किया जाएगा। (अधिक सटीक रूप से, पहला केवल तब तक लागू किया जाएगा जब तक कि दूसरा पैरामीटर नहीं पढ़ा जाता है)।
यह फ़ाइल विशेष रूप से "फ़ाइलों और फ़ोल्डरों को शामिल कर सकती है" (ध्यान दें कि वाइल्डकार्ड भी काम करते हैं)। उन्हें उस स्थान पर मुख्य कॉन्फ़िगरेशन के साथ पढ़ा और संयोजित किया जाएगा जहां "शामिल" लिखा गया है। इस प्रकार, मुख्य कॉन्फ़िगरेशन फ़ाइल में बहुत अंतिम पंक्ति (यदि यह किसी अन्य फ़ाइल को निर्दिष्ट नहीं करती है) स्थापित करने के लिए कॉन्फ़िगरेशन की अंतिम पंक्ति होगी, चाहे कोई भी हो।
उबंटू में नए अपाचे इंस्टॉलेशन में डिफ़ॉल्ट पृष्ठ /var/www/index.html में है और यह कैसे काम करता है इसका एक अच्छा अवलोकन देता है।
एक नया साइट कॉन्फ़िगरेशन बनाना
हम डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग नहीं करेंगे क्योंकि हमें विशिष्ट व्यवहार जोड़ने की आवश्यकता है। उपलब्ध साइटों से पुराने कॉन्फ़िगरेशन की प्रतिलिपि बनाएँ और इसे कुछ यादगार नाम दें।
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/payara-site.conf
रूट के रूप में अपने पसंदीदा पाठ संपादक में एक नई फ़ाइल खोलें। आपको कुछ इस तरह से देखना चाहिए:

तत्व में निर्देशों की एक श्रृंखला होती है जो सर्वर को सूचीबद्ध आवक अनुरोधों का जवाब देने का तरीका बताती है। इस उदाहरण में, <VirtualHost *: 80> पोर्ट 80 के माध्यम से सर्वर द्वारा प्राप्त सभी प्रतिक्रियाओं को संसाधित करता है। VirtualHost टैग्स के अधिक विस्तृत विवरण के लिए, अपाचे प्रलेखन देखें।
हमें अपाचे को आने वाले और बाहर जाने वाले ट्रैफिक को संभालने के तरीके बताने के लिए टैग में दो लाइनें जोड़ने की जरूरत है - एक अपाचे को बताने के लिए जहां अनुरोध भेजने के लिए, और दूसरा अपाचे को बताने के लिए कि उत्तर कहां से आना चाहिए। इस तरह, लोकलहोस्ट पर जाने वाले उपयोगकर्ता को लोकलहोस्ट : 8080 / पर हमारे एप्लिकेशन सर्वर पर पुनर्निर्देशित किया जा सकता है, और लोकलहोस्ट को निर्देशित प्रतिक्रियाएं: 8080 / के बजाय पुनर्निर्देशित की जाती हैं, ताकि उपयोगकर्ता उन्हें लोकलहोस्ट से आते हुए देखे।
आने वाले ट्रैफ़िक को नियंत्रित करने के लिए, लाइन जोड़ें:
ProxyPass / http://localhost:8080/
यह निर्देश एपाचे को सर्वर के डोमेन नाम के बाद सब कुछ भेजने के लिए कहता है: 8080 /, जैसे कि उपयोगकर्ता सीधे इस URL पर गया था।
ProxyPassReverse / http://localhost:8080/
यह निर्देश अपाचे को प्रॉक्सी के वापसी URL को बताता है, ताकि पयारा सर्वर उदाहरण से पोर्ट 8080 पर प्रतिक्रिया लौटा दी जाए, URL ऐसा दिखता है जैसे यह अपाचे से प्राप्त हुआ था। इन दो निर्देशों, जब एक साथ उपयोग किए जाते हैं, तो इसका मतलब है कि हम mod_rewrite के साथ जटिल नियमित अभिव्यक्तियों से बच सकते हैं।
यह मानते हुए कि डोमेन नाम जिसे हम उपयोग करना चाहते हैं, उदाहरण के लिए, www.example.com , हमारे कॉन्फ़िगरेशन का अर्थ है कि www.example.com/myapp के लिए अनुरोध वास्तव में Payara सर्वर पर भेजा जाएगा, जैसे कि उपयोगकर्ता सीधे लोकलहोस्ट से जुड़ा था: 8080 // MyApp।
आपकी फ़ाइल अब इस तरह दिखनी चाहिए (मैंने यह स्पष्ट करने के लिए अधिकांश टिप्पणियों को हटा दिया कि वास्तव में क्या आवश्यक है):

अपनी फ़ाइल सहेजें।
डिफ़ॉल्ट साइट को अक्षम करने और हमारे नए कॉन्फ़िगरेशन को सक्रिय करने के लिए, कमांड चलाएं:
sudo a2dissite 000-default.conf sudo a2ensite payaraSite.conf
Apache HTTP सर्वर सेवा को पुनरारंभ करें (पुनरारंभ जिसे हमने पहले छोड़ दिया था):
sudo service apache2 restart
Apache HTTP सर्वर को रोकने और शुरू करने के लिए, यह है:
सेवा बंद करो
sudo service apache2 stop sudo service apache2 start
Payara Server शुरू करना न भूलें:
/opt/payara5/bin/asadmin start-domain domain1
लोकलहोस्ट पर जाकर कॉन्फ़िगरेशन परिवर्तन करने से पहले, आपको अपाचे स्वागत स्क्रीन पर ले जाया जाएगा:

लेकिन अब हमने अपने प्रॉक्सी सर्वर में जोड़ा और अपने अपाचे उपयोगकर्ता कॉन्फ़िगरेशन के लिए नए निर्देश शामिल किए, जब हम लोकलहोस्ट / इंडेक्स.बुक में प्रवेश करते हैं, जिसे अब हम पेरा सर्वर स्वागत स्क्रीन पर भेजते हैं:

अब आप Payara सर्वर पर एप्लिकेशन जोड़ सकते हैं
इस प्रकार, अब हमारे पास एक सक्रिय अपाचे HTTP सर्वर है जो हमारे प्रॉक्सी के रूप में कार्य कर रहा है (अतिरिक्त मॉड्यूल जोड़ने की क्षमता के साथ), और एक काम करने वाला Payara सर्वर, इसमें एप्लिकेशन जोड़ने के लिए तैयार है।
हम दोनों सर्वरों की स्थापना के माध्यम से चले गए, अपाचे को कॉन्फ़िगर करना, फ़ाइल सिस्टम की खोज करना और बहुत संक्षेप में Payad सर्वर असद सर्वर आदेशों को देखा।
अगली बार हम अपाचे और Payara सर्वर की कार्यक्षमता को बढ़ाने के बारे में देखेंगे, और हम Payara सर्वर को कैसे स्केलेबिलिटी और अतिरिक्त सुधार प्रदान कर सकते हैं, इसके लिए हम अपाचे को कई आंतरिक सर्वरों को संभालने के लिए जोड़ेंगे।