Nginx बनाम Apache: सबसे अच्छा वेब सर्वर कौन सा है? (2023)

जबकि सर्वर सॉफ़्टवेयर के बहुत सारे विभिन्न प्रकार हैं, आप अक्सर दावेदारों को Nginx बनाम Apache तक कम कर देंगे। ऐसा इसलिए है क्योंकि दोनों कई अलग-अलग सर्वर कॉन्फ़िगरेशन के लिए शीर्ष प्रदर्शन प्रदान करते हैं, और कुछ अनुप्रयोगों को दूसरे की तुलना में बेहतर बनाते हैं।

फिर भी, आप अभी भी विचार करना चाहेंगे कि इनमें से कौन सा आपकी आवश्यकताओं के लिए अधिक उपयुक्त है। देखने के लिए कुछ अलग श्रेणियां हैं, जैसे ऑपरेटिंग सिस्टम (OS) समर्थन, सुरक्षा, दस्तावेज़ीकरण और (बेशक) प्रदर्शन।

इस पोस्ट के लिए, हम कई अलग-अलग क्षेत्रों में Nginx बनाम Apache की तुलना करने जा रहे हैं। अंत में, हम अपने निष्कर्षों को सारांशित करेंगे और आपको सही विकल्प चुनने के लिए आवश्यक जानकारी देंगे।

Nginx और Apache का परिचय

इससे पहले कि हम प्रत्येक सर्वर प्रकार के गहन विवरण में आएं, आइए आपको Nginx और Apache दोनों के बारे में विस्तार से बताते हैं। एक बार जब हम अगले भाग में पहुँच जाते हैं, तो आप दोनों के कुछ उपयोग मामलों के बारे में जानेंगे, और जहाँ आप उन्हें ‘जंगली’ में देख सकते हैं।

nginx

Nginx लोगो।

अपाचे की तुलना में, nginx (उच्चारित “इंजन एक्स”) सर्वर-साइड तकनीक की दुनिया के लिए एक रिश्तेदार नौसिखिया है। हालाँकि, विकास दल ने अपाचे सिस्टम की सीमाओं के विस्तार का कार्य किया।

यह एक ओपन-सोर्स समाधान है जिसे बहुत से उपयोगकर्ता इसकी स्थिरता और मापनीयता के लिए मानते हैं। यह (आंशिक रूप से) इसकी घटना-संचालित वास्तुकला के लिए है – जिनमें से अधिक बाद में। वास्तव में, शुरुआती Nginx रिलीज के लक्ष्य का हिस्सा सक्षम होना था 10,000 कनेक्शन संभालें तुरंत। यह कुछ ऐसा है जो 2004 में उस समय तेजी से फैल रहे वेब के कारण आवश्यक था।

कुल मिलाकर, sysadmins और साइट के मालिक Nginx को पसंद करते हैं क्योंकि यह प्रदर्शनकारी है, स्थैतिक फ़ाइलों के साथ बढ़िया काम करता है, और लोड बैलेंसर और ‘रिवर्स प्रॉक्सी’ के कार्य करता है। ये सभी अपटाइम, गति और सुरक्षा के लिए प्रासंगिक हैं।

अमरीका की एक मूल जनजाति

अपाचे HTTPS सर्वर लोगो।

अमरीका की एक मूल जनजाति कुछ हद तक वेब सर्वर तकनीक का ‘ओल्ड मैन’ है। यह लगभग उतना ही पुराना है जितना स्वयं वेब – 1995 से अपाचे हजारों सर्वरों के मूल में सॉफ्टवेयर रहा है, यदि लाखों नहीं।

लंबे समय से, अपाचे ‘सिसडमिन्स’ के बीच एक प्रमुख तकनीक रही है। इसके बहुत सारे कारण हैं – कुछ प्रदर्शन संबंधी, और अन्य आदत के कारण। भले ही, अपाचे सर्वर बहुत सारे उपयोग देखते हैं जहां कॉन्फ़िगरेशन मायने रखता है।

आप अपाचे को सभी लिनक्स डिस्ट्रोस पर पूर्व-स्थापित सॉफ़्टवेयर के रूप में पाएंगे, इसलिए यह उस ओएस के लिए एक समाधान है। हालाँकि, जब यह Nginx के लिए एक अलग वास्तुकला का उपयोग करता है, तब भी यह शक्ति, मापनीयता और शानदार प्रलेखन प्रदान करता है।

बहुत सारे sysadmins भी Apache की अनुकूलन योग्य प्रकृति को पसंद करते हैं, और आप विभिन्न मॉड्यूल लोड करके सर्वर को अपना कैसे बना सकते हैं।

Nginx बनाम Apache के लिए सामान्य उपयोग के मामले

यह कहना उचित है कि जब सेवा वेबसाइटों की बात आती है तो अपाचे एक “जैक ऑफ ऑल ट्रेड्स” है। हालाँकि, यह एक मिश्रित आशीर्वाद है। हां, Apache सर्वर लगभग वह सब कुछ कर सकता है जो Nginx कर सकता है, लेकिन यह कम प्रदर्शन करने वाले कोड की कीमत पर है। आयु यहाँ एक कारक है।

क्योंकि Apache हमारे पास वेब सर्वर के लिए कुछ अधिक उन्नत एप्लिकेशन होने से पहले आया था, कोडबेस वह नहीं कर सका जो आधुनिक वेबसाइटों की सेवा के लिए आवश्यक था। हालांकि ये मुद्दे चिंता का कारण नहीं हैं अभीNginx जैसा समाधान आधुनिक वेब को ध्यान में रखकर काम करता है।

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

LAMP स्टैक के सभी भागों के लिए लोगो: Linux, Apache, MySQL और PHP।

इसके विपरीत, Nginx के पास अधिक परिपक्व सॉफ़्टवेयर आधार है, जिसमें Apache की तुलना में अधिक सुव्यवस्थितता है। यह अच्छा है जहां स्थिरता और सुरक्षा प्रमुख, मूलभूत तत्व हैं। आप पाएंगे कि एक Nginx सर्वर अन्य प्रकारों की तरह कॉन्फ़िगर करने योग्य नहीं है, और इसका मतलब है कि आप इसके कोर तक कम पहुंच पाएंगे।

क्या अधिक है, यह अपाचे की तरह मॉड्यूलर नहीं है, जो इसे ऐसी स्थिति के लिए कम उपयुक्त बनाता है जहां आपको सर्वर अनुकूलन करने की आवश्यकता होती है।

Nginx बनाम Apache: प्रत्येक सर्वर प्रकार कितना लोकप्रिय है

लंबे समय तक, सर्वर सॉफ्टवेयर एक-घोड़े की दौड़ जैसा था। अपाचे एक के रूप में चला प्रमुख बल कई वर्षों के लिए और अभी भी एक बड़ा बाजार हिस्सा रखता है। इस वजह से, आप पाएँगे कि अपाचे सर्वरों के लिए बहुत सारे एकीकरण और समर्थन हैं, साथ ही शीर्ष-पायदान दस्तावेज़ीकरण भी हैं।

यह अपाचे को चुनने के और कारण के रूप में कार्य करता है और इसके निरंतर उपयोग में योगदान देता है। हालाँकि, Nginx एक सर्वर सॉफ्टवेयर है जिसमें a बड़े पैमाने पर बाजार हिस्सेदारी उसका स्वयं का। समय के साथ Nginx के उपयोग में धीमी वृद्धि हुई है, इस बिंदु पर कि यह अब बाजार पर सबसे प्रमुख वेब सर्वर तकनीक है, हालांकि बहुत अधिक नहीं है।

आगे देखते हुए, हम सुझाव देंगे कि समय के साथ अपाचे का उपयोग कम होता जाएगा क्योंकि Nginx एक वेब सर्वर में sysadmins को बहुत कुछ प्रदान करता है। हालांकि, लाइटस्पीड वेब सर्वर और क्लाउडफ्लेयर सर्वर क्षितिज पर हैं और बढ़ते उपयोगकर्ता आधार और भारी समर्थन के साथ आते हैं। कुछ वर्षों में, यह तुलना Nginx की तुलना इनमें से किसी युवा अपस्टार्ट से कर सकती है।

Nginx बनाम Apache: सुविधाओं और कार्यक्षमता का तकनीकी टूटना

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

1. कनेक्शन और अनुरोध से निपटने

सर्वर कैसे कनेक्शन संभालता है यह जानना महत्वपूर्ण है क्योंकि यह इसकी ‘कोर करेंसी’ है। यह विवादास्पद है, लेकिन जब लोग नग्नेक्स बनाम अपाचे के सापेक्ष गुणों पर चर्चा करना चाहते हैं, तो कनेक्शन प्रबंधन धारणाओं में एक बड़ी भूमिका निभाता है।

nginx

Nginx ‘एसिंक्रोनस’ और ‘इवेंट-संचालित’ है, जिसका अर्थ है कि यह एक साथ कई अनुरोधों को संभाल सकता है और उपलब्ध संसाधनों के दौरान उन्हें प्रोसेस कर सकता है। यह आने वाले कनेक्शनों को संभालने के लिए ‘कार्यकर्ता प्रक्रियाओं’ को जन्म देता है, जिनमें से यह एक समय में हजारों की अपेक्षा करता है। बाकी सर्वर के लिए ये ‘जल वाहक’ हैं।

उदाहरण के लिए, प्रत्येक कार्यकर्ता प्रक्रिया घटनाओं और कनेक्शनों को संसाधित करने के लिए सुनती है और उन्हें एक निरंतर लूप में जोड़ती है। वहां से, सर्वर प्रत्येक घटना को संसाधित कर सकता है और समाप्त होने पर इसे हटा सकता है। एक Nginx सर्वर का प्रवाह अंतर्निहित मापनीयता प्रदान करता है, और async, गैर-अवरुद्ध वास्तुकला वह भी कार्य करता है।

अमरीका की एक मूल जनजाति

इसके विपरीत, अपाचे एक समय में कई के माध्यम से घटनाओं को संभालता है बहु-प्रसंस्करण मॉड्यूल (एमपीएम). एक sysadmin कार्य के लिए सबसे उपयुक्त कनेक्शन आर्किटेक्चर का चयन करेगा, जिनमें से कुछ ही हैं।

mpm_prefork मॉड्यूल एक सामान्य है। यह प्रत्येक घटना के लिए चाइल्ड प्रोसेस को जन्म देता है, और एक समय में केवल एक कनेक्शन को प्रोसेस करेगा। यदि प्रक्रियाओं की संख्या अनुरोधों की संख्या से अधिक है, तो आपको प्रदर्शन के संबंध में Nginx बनाम Apache के बीच अंतर बताने में कठिनाई होगी।

हालाँकि, इस प्रकार की स्थिति दुर्लभ है, और एक Apache सर्वर कई अवसरों पर प्रक्रियाओं की तुलना में अधिक संख्या में अनुरोध देखेगा। क्या अधिक है, स्मृति उपयोग के कारण यह MPM अच्छी तरह से स्केल नहीं करता है।

PHP के साथ काम करने वालों के लिए, mpm_prefork के साथ काम करने का एकमात्र सुरक्षित तरीका है mod_php दुभाषिया मॉड्यूल. कमियों के बावजूद, यह एमपीएम होगा जिसे वर्डप्रेस डेवलपर चुनेंगे यदि उन्हें अपाचे सर्वर पर तैनात करना है।

आप भी देखेंगे mpm_worker और mpm_event मॉड्यूल भी। ये एक समान ऑपरेशन करते हैं और जिस तरह से वे धागे के संग्रह के प्रति कई प्रक्रियाओं को बढ़ा सकते हैं, उसके कारण बेहतर पैमाने पर स्केल करते हैं।

एमपीएम के इस बैच से पता चलता है कि कुछ मामलों में प्रदर्शन की कमियों के बावजूद अपाचे कितना लचीला हो सकता है।

स्थैतिक बनाम गतिशील सामग्री के लिए अनुरोध प्रबंधन

इससे पहले कि हम आगे बढ़ें, हमें प्रत्येक सर्वर सॉफ़्टवेयर के लिए स्थिर बनाम गतिशील सामग्री का उल्लेख करना चाहिए। आप पढ़ेंगे कि Nginx गतिशील सामग्री को संसाधित नहीं कर सकता है, जो आपको चिंता का कारण दे सकता है। वास्तव में, Nginx इस प्रकार की सामग्री को मूल तरीके से संसाधित नहीं करेगा। इसके बजाय, यह इसे एक बाहरी प्रोसेसर (जैसे कैश) को भेज देगा, फिर सामग्री को चालू करने से पहले इसके वापस आने की प्रतीक्षा करें।

विकास के लिए, एक sysadmin एक समाधान स्थापित करेगा जैसे मेमकेच्ड इसके लिए। इस दृष्टिकोण के नकारात्मक हैं, अर्थात् प्रदर्शन पर। हालाँकि, श्रृंखला के प्रत्येक भाग के लिए प्रदर्शन ओवरहेड्स का लाभ इसे नकारता है। Nginx को इन अनुरोधों को संसाधित करने के बारे में चिंता करने की ज़रूरत नहीं है, इसलिए यह अधिक दक्षता के साथ अपने उत्तरदायित्व के क्षेत्रों पर ध्यान केंद्रित कर सकता है।

अपाचे का एमपीएम सिस्टम इसे अन्य मॉड्यूल की आवश्यकता के बिना स्थिर और गतिशील सामग्री दोनों को संसाधित करने देता है। गतिशील सामग्री के लिए, अपाचे प्रत्येक कार्यकर्ता में एक भाषा प्रोसेसर एम्बेड करता है। यह एक आसान तरीका है जो अच्छी तरह से काम करता है। यदि आपको परिवर्तन करने की आवश्यकता है तो आप मॉड्यूल की अदला-बदली भी कर सकते हैं।

2. सर्वर को कॉन्फ़िगर करना

Nginx बनाम Apache के बीच अधिक स्पष्ट अंतरों में से एक यह है कि आप प्रत्येक सर्वर को कैसे कॉन्फ़िगर करते हैं। Nginx एक केंद्रीकृत दृष्टिकोण का उपयोग करता है, जिसका अर्थ है कि उपयोगकर्ता के पास एक मुख्य फ़ाइल के बाहर सर्वर को कॉन्फ़िगर करने का कोई तरीका नहीं है। हालांकि यह एक नकारात्मक की तरह लगता है, इसके बहुत सारे फायदे हैं:

  • सर्वर व्यवस्थापक वैश्विक सुरक्षा के लिए जिम्मेदार होता है, जो समग्र रूप से सर्वर तक पहुंच को मजबूत करता है।
  • एक केंद्रीकृत सर्वर का प्रदर्शन अन्य प्रकारों की तुलना में अधिक होता है। ऐसा इसलिए है क्योंकि Nginx को प्रत्येक निर्देशिका में कॉन्फ़िगरेशन फ़ाइलों की जाँच करने के अनुरोधों को संभालने की आवश्यकता नहीं होगी।
  • यहां एक नॉक-ऑन प्रभाव है, क्योंकि कई क्षेत्रों से सर्वर के लिए कोई ओवरराइड नहीं होगा, आगे अनुरोध के समय को कम रखा जाएगा।

एक तरीका है कि एक आम आदमी को पता चल जाएगा कि वे अपाचे सर्वर का उपयोग करते हैं .htaccess फ़ाइलें। ये कॉन्फ़िगरेशन फ़ाइलें हैं जिन्हें आप अपने सर्वर पर लगभग कहीं भी जोड़ सकते हैं। अपाचे पथ के प्रत्येक तत्व की जांच करेगा .htaccess फ़ाइल जब एक अनुरोध किया जाता है।

एक .htaccess फ़ाइल कुछ पुनर्लेखन नियम दिखा रही है - Nginx बनाम Apache तुलना

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

3. व्याख्या का अनुरोध करें

Nginx बनाम Apache का एक बड़ा अंतर जो स्पष्ट नहीं होगा वह यह है कि यह अनुरोधों की व्याख्या कैसे करता है। संक्षेप में:

  • Nginx प्रत्येक घटक के लिए यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI) का उपयोग करके अनुरोधों की व्याख्या और मैप करता है।
  • अपाचे अनुरोधों की व्याख्या करने के लिए यूआरआई का भी उपयोग कर सकता है, लेकिन फ़ाइल-आधारित पथ संरचना को देखना अधिक सामान्य है।

क्योंकि अपाचे सबसे पहले और सबसे महत्वपूर्ण वेब सर्वर है, यह उपयोग करेगा <Directory>, <Files>या <Location> संसाधनों को परिभाषित करने के लिए ब्लॉक। यहां मुख्य अवधारणा यह है कि अपाचे जो कुछ भी देखता है वह वेब सर्वर से संबंधित है, इसलिए संसाधन पथ के भीतर कोई अस्पष्टता नहीं है। एक दस्तावेज़ ट्री के बारे में सोचें, और इस तरह Apache सर्वर फ़ाइल सिस्टम को ‘विज़ुअलाइज़’ करता है।

एक अपाचे कॉन्फ़िगरेशन फ़ाइल, विशिष्ट निर्देशिकाओं के लिए फ़ाइल सिस्टम सुरक्षा दिखा रही है - Nginx बनाम Apache तुलना

इसके विपरीत, Nginx में बहुत सारे उपयोग के मामले हैं, जैसे लोड बैलेंसर, प्रॉक्सी सर्वर और एक वेब सर्वर। इस वजह से, Nginx को उन्हें संसाधित करने के लिए अनुरोधों को URI के रूप में आने की आवश्यकता है। उदाहरण के लिए, Nginx उपयोग करता है server और location ब्लॉक: पूर्व अनुरोधित होस्ट की व्याख्या करता है, और बाद वाला यूआरआई भागों से मेल खाता है। पूरा अनुरोध एक URI बन जाता है।

एक Nginx कॉन्फ़िगरेशन फ़ाइल - Nginx बनाम Apache तुलना

कुल मिलाकर, Nginx के लिए एक URI अधिक लचीला है, क्योंकि यह जो भी कार्य करता है, उसके अनुकूल हो सकता है। फिर भी, अपाचे का सिस्टम काम करता है, यह देखते हुए कि उसे केवल वेब सर्वर के रूप में भूमिका निभानी है।

Nginx बनाम Apache: आपको 2023 में अपने सर्वर के लिए किसे चुनना चाहिए

कैच-ऑल का जवाब, मुझे कौन सा सर्वर सॉफ्टवेयर चुनना चाहिए? सरल है: यह वह है जो आपका होस्टिंग प्रदाता प्रदान करता है। कई मामलों में, आपको कोई विकल्प नहीं मिलेगा। हमने देखा है कि यदि आप Nginx बनाम Apache के बीच निर्णय लेना चाहते हैं तो बहुत सारे वेब होस्ट उसी पैटर्न का पालन करते हैं जो आपको मेल खाना चाहिए:

  • यदि आप एक सर्वर चलाना चाहते हैं जिसे निरंतर कॉन्फ़िगरेशन की आवश्यकता होती है, या आप उपयोगकर्ताओं को एक कॉन्फ़िगरेशन विकल्प देना चाहते हैं, तो अपाचे बिल फिट होगा।
  • हालाँकि, यदि आप सुपर प्रदर्शन, रॉक-सॉलिड सुरक्षा प्रदान करना चाहते हैं, और अपने उपयोगकर्ताओं के बजाय कॉन्फ़िगरेशन को संभालना चाहते हैं, तो Nginx आगे का रास्ता है।

जब प्रदर्शन की बात आती है, तो Apache कर सकते हैं इसकी अंतर्निहित वास्तुकला के कारण अधिक मेमोरी लें। उच्च-ट्रैफ़िक स्थितियों में Nginx बेहतर होने जा रहा है, खासकर अगर इसे बहुत सारी स्थिर सामग्री को संभालना है।

इसलिए, यदि आप सामग्री को स्टोर और सर्व करने के लिए कैशिंग पर निर्भर हैं, तो Nginx सबसे अच्छा विकल्प हो सकता है। हालाँकि, याद रखें कि Nginx गतिशील सामग्री प्रदान नहीं कर सकता है, इसलिए आप अपने सर्वर द्वारा उपयोग की जाने वाली प्रॉक्सी की दक्षता के आधार पर अधिक प्रदर्शन हिट लेंगे।

निष्कर्ष

वर्डप्रेस के बहुत सारे क्षेत्र हैं (और एक वेबसाइट चला रहे हैं) जो लगभग भारी संख्या में विकल्पों की पेशकश करते हैं। यह जानवर की प्रकृति है। हालाँकि, जब आपको अपनी साइट को जल्दी से लाइव करने की आवश्यकता होती है तो यह मदद नहीं करता है।

सर्वर प्रकार का आपका चुनाव एक महत्वपूर्ण और अग्रिम पंक्ति का निर्णय है जिसका आपको अतिरिक्त ध्यान रखना होगा। Nginx बनाम Apache एक सामान्य तुलना है क्योंकि दोनों कुछ स्थितियों में लाभ प्रदान करते हैं।

हमारी राय है कि Nginx अधिक प्रदर्शन के साथ अधिकांश आधारों को कवर कर सकता है, जो इसे अधिकांश वर्डप्रेस उपयोगकर्ताओं के लिए बेहतर विकल्प बनाता है। यही कारण है कि कई लोकप्रिय प्रदर्शन-केंद्रित वर्डप्रेस होस्ट किन्स्टा और फ्लाईव्हील सहित एक ऑल-एनजीएनएक्स सर्वर स्टैक की ओर बढ़ गए हैं।

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

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *

Verified by MonsterInsights
Яндекс.Метрика