शीर्ष 50 नग्नेक्स साक्षात्कार प्रश्न और उत्तर (2026)

Nginx इंटरव्यू की तैयारी के लिए दूरदर्शिता, स्पष्टता और इस बात की समझ आवश्यक है कि इंटरव्यू लेने वाले आज के समय में वास्तविक परिचालन ज्ञान का मूल्यांकन कैसे करते हैं। Nginx इंटरव्यू के प्रश्न गहन ज्ञान, निर्णय लेने की क्षमता, समस्या निवारण कौशल और उत्पादन के लिए तत्परता को उजागर करते हैं।
ये भूमिकाएँ क्लाउड इन्फ्रास्ट्रक्चर, परफॉर्मेंस इंजीनियरिंग और सुरक्षा के क्षेत्र में अवसर प्रदान करती हैं, जहाँ व्यावहारिक कॉन्फ़िगरेशन महत्वपूर्ण होते हैं। नियोक्ता तकनीकी अनुभव, विशेषज्ञता और क्षेत्र में काम करने से प्राप्त विश्लेषण को महत्व देते हैं, जिससे फ्रेशर्स, मिड-लेवल इंजीनियर और वरिष्ठ पेशेवर प्रबंधकों और टीम लीडरों के मार्गदर्शन में टीमों के भीतर बुनियादी से लेकर उन्नत कौशल लागू कर पाते हैं। अधिक पढ़ें…
👉 मुफ़्त PDF डाउनलोड करें: Nginx इंटरव्यू प्रश्न और उत्तर
Nginx से संबंधित शीर्ष साक्षात्कार प्रश्न और उत्तर
1) NGINX क्या है और वेब इन्फ्रास्ट्रक्चर में इसका व्यापक रूप से उपयोग क्यों किया जाता है, इसकी व्याख्या करें।
NGINX एक उच्च-प्रदर्शन वाला ओपन-सोर्स वेब सर्वर है जो रिवर्स प्रॉक्सी, लोड बैलेंसर और HTTP कैश के रूप में भी कार्य करता है। यह HTTP, HTTPS, SMTP, POP3 और IMAP प्रोटोकॉल को सपोर्ट करता है। इसकी आर्किटेक्चर एक event-driven, asynchronous model यह क्षमता इसे कम मेमोरी और सीपीयू उपयोग के साथ एक साथ हजारों कनेक्शनों को संभालने में सक्षम बनाती है। यह स्केलेबिलिटी NGINX को उच्च-ट्रैफ़िक वेब एप्लिकेशन, माइक्रोसेवा और वितरित आर्किटेक्चर के लिए विशेष रूप से उपयुक्त बनाती है। उदाहरण के लिए, भारी ट्रैफ़िक वर्कलोड वाली कंपनियां (जैसे कंटेंट प्लेटफ़ॉर्म या एपीआई गेटवे) एक साथ कई कनेक्शनों को संभालने और स्थिर सामग्री को कुशलतापूर्वक वितरित करने के लिए अक्सर NGINX को प्राथमिकता देती हैं।
2) NGINX आंतरिक रूप से HTTP अनुरोधों को कैसे संभालता है (इवेंट-ड्रिवन आर्किटेक्चर)?
NGINX की मुख्य ताकत इसकी विशेषताओं में निहित है। event-driven, non-blocking architectureपरंपरागत सर्वरों की तरह प्रत्येक अनुरोध के लिए एक अलग थ्रेड या प्रोसेस बनाने के बजाय, NGINX कुछ वर्कर प्रोसेस का उपयोग करता है जो अतुल्यकालिक इवेंट लूप का लाभ उठाते हैं। प्रत्येक वर्कर ऑपरेटिंग सिस्टम की तत्परता सूचनाओं की प्रतीक्षा करके और घटित होने पर इवेंट्स को प्रोसेस करके हजारों कनेक्शनों को प्रबंधित कर सकता है। I/O ऑपरेशनों पर ब्लॉक न होने के कारण, NGINX न्यूनतम संसाधनों के साथ स्थिर और प्रॉक्सीकृत सामग्री प्रदान कर सकता है। यह मॉडल उच्च समवर्ती उपयोग के मामलों के लिए आदर्श है, जिससे यह भारी लोड के तहत प्रोसेस-आधारित सर्वरों की तुलना में अधिक कुशल साबित होता है।
3) NGINX और Apache के बीच मुख्य अंतर क्या हैं?
हालांकि NGINX और Apache दोनों ही लोकप्रिय वेब सर्वर हैं, लेकिन उनकी वास्तुकला, प्रदर्शन और डिजाइन लक्ष्य अलग-अलग हैं:
| पहलू | nginx | अपाचे |
|---|---|---|
| समवर्ती मॉडल | इवेंट-ड्रिवन (अतुल्यकालिक, नॉन-ब्लॉकिंग) | प्रक्रिया / थ्रेड-आधारित (अवरोधक) |
| मेमोरी उपयोग | प्रति कनेक्शन कम | प्रति कनेक्शन अधिक |
| सबसे अच्छा उपयोग मामला | उच्च ट्रैफ़िक, स्थिर सामग्री, लोड संतुलन | गतिशील सामग्री और समृद्ध मॉड्यूल पारिस्थितिकी तंत्र |
| अनुमापकता | कम संसाधनों के साथ काम करता है | प्रक्रियाओं के कारण अधिक हार्डवेयर की आवश्यकता होती है |
| मॉड्यूल हैंडलिंग | संकलन समय पर चयनित मॉड्यूल | रनटाइम पर गतिशील |
NGINX का डिज़ाइन लोड के तहत प्रदर्शन को अनुकूलित करता है, जबकि Apache गतिशील मॉड्यूल और व्यापक भाषा समर्थन के साथ अधिक लचीलापन प्रदान करता है।
4) NGINX कॉन्फ़िगरेशन फ़ाइल के प्रमुख घटक क्या हैं?
एक NGINX कॉन्फ़िगरेशन फ़ाइल (डिफ़ॉल्ट पथ: /etc/nginx/nginx.confइसमें संरचित निर्देश ब्लॉक होते हैं जो यह निर्धारित करते हैं कि NGINX कैसे व्यवहार करता है:
- मुख्य संदर्भ: वैश्विक सेटिंग्स जैसे कि
worker_processes,error_log, तथाpid - इवेंट्स ब्लॉक: यह वर्कर कनेक्शन और मल्टी-प्रोसेसिंग का प्रबंधन करता है।
- HTTP ब्लॉक: इसमें HTTP हैंडलिंग (संपीड़न, कैशिंग, जीज़िप आदि) के लिए कॉन्फ़िगरेशन शामिल हैं।
- सर्वर ब्लॉक: वर्चुअल होस्ट (डोमेन और पोर्ट) को परिभाषित करता है
- स्थान ब्लॉक: यह रूटिंग नियमों और विशिष्ट यूआरआई को संभालने के तरीके को परिभाषित करता है।
ये ब्लॉक अनुरोधों को रूट करने, प्रॉक्सी सेटिंग्स को परिभाषित करने और एसएसएल/टीएलएस और कैशिंग को कॉन्फ़िगर करने के लिए एक साथ काम करते हैं।
5) बिना डाउनटाइम के NGINX कॉन्फ़िगरेशन को सुरक्षित रूप से कैसे रीलोड किया जा सकता है?
अद्यतन कॉन्फ़िगरेशन के साथ NGINX को पुनः लोड करने के लिए without interrupting active connectionsइसके लिए आप निम्नलिखित कमांड का उपयोग कर सकते हैं:
nginx -s reload
या उन प्रणालियों पर जो उपयोग कर रही हैं systemd:
sudo systemctl reload nginx
यह कमांड मास्टर प्रोसेस को कॉन्फ़िगरेशन फ़ाइलों को दोबारा पढ़ने और मौजूदा कनेक्शनों को बाधित किए बिना वर्कर्स को सुचारू रूप से पुनः आरंभ करने का संकेत देता है। उच्च उपलब्धता की आवश्यकता वाले वातावरणों में इस तरह के निर्बाध रीलोड को करने का तरीका जानना अत्यंत आवश्यक है।
6) NGINX को रिवर्स प्रॉक्सी के रूप में स्थापित करने का तरीका बताएं।
एक रिवर्स प्रॉक्सी क्लाइंट के अनुरोधों को बैकएंड सर्वरों (अपस्ट्रीम समूह) तक पहुंचाता है और फिर प्रतिक्रिया वापस भेजता है। नीचे एक सामान्य NGINX रिवर्स प्रॉक्सी ब्लॉक का उदाहरण दिया गया है:
http {
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
}
}
}
यह सेटअप सुरक्षा में सुधार करता है, लोड वितरण प्रदान करता है, और क्लाइंट और एप्लिकेशन सर्वर के बीच कैशिंग या दर-सीमित करने वाली नीतियों को सक्षम बनाता है।
7) NGINX मास्टर और वर्कर प्रक्रियाओं की व्याख्या करें।
NGINX में:
- RSI मुख्य प्रक्रिया यह कॉन्फ़िगरेशन का प्रबंधन करता है, वर्कर प्रक्रियाओं को शुरू करता है, और पोर्ट से जुड़ने जैसे विशेषाधिकार प्राप्त कार्यों को संभालता है।
- श्रमिक प्रक्रियाएँ वास्तविक अनुरोध प्रबंधन करें—आने वाले कनेक्शनों को संसाधित करें और कॉन्फ़िगर किए गए नियमों को निष्पादित करें।
कई वर्कर एक साथ काम करने की क्षमता को बेहतर बनाते हैं और उपलब्ध सीपीयू कोर और ट्रैफिक की मांग के अनुसार उन्हें समायोजित किया जा सकता है। भूमिकाओं को विभाजित करने से प्रदर्शन और स्थिरता बढ़ती है।
8) NGINX में अपरिभाषित सर्वर नाम प्रोसेसिंग को कैसे प्रतिबंधित किया जा सकता है?
वैध कारण के बिना अनुरोधों को अस्वीकार करने के लिए Host NGINX में हेडर:
server {
listen 80;
server_name "";
return 444;
}
यह कॉन्फ़िगरेशन कोड लौटाता है 444यह एक गैर-मानक NGINX स्थिति है जो बिना किसी प्रतिक्रिया के कनेक्शन को बंद कर देती है, प्रभावी रूप से अपरिभाषित होस्ट को अस्वीकार करती है और सुरक्षा में सुधार करती है।
9) ngx_http_upstream_module का उपयोग किस लिए किया जाता है?
RSI ngx_http_upstream_module परिभाषित करता है groups of backend servers (अपस्ट्रीम) जिन्हें NGINX निर्देशों का उपयोग करके अनुरोध भेज सकता है, जैसे कि proxy_pass, fastcgi_passया, uwsgi_passइससे लोड-बैलेंस्ड वातावरण में अनुप्रयोगों को स्केल करने में लचीलापन मिलता है। जब कई बैकएंड सर्वरों को समूहित किया जाता है, तो NGINX परिभाषित नीतियों के आधार पर ट्रैफ़िक वितरित कर सकता है, जिससे राउंड-रोबिन और अन्य रणनीतियों को समर्थन मिलता है।
10) बताइए कि NGINX का उपयोग स्थिर और गतिशील सामग्री को परोसने के लिए कैसे किया जाता है।
NGINX सेवा प्रदान करने में अत्यधिक कुशल है। स्थिर फाइलें (HTML, CSS, छवियां) सीधे इसके अनुकूलित इवेंट लूप और फ़ाइल I/O तंत्र का उपयोग करके। गतिशील सामग्रीNGINX अनुरोधों को PHP-FPM जैसे बैकएंड प्रोसेसर को भेजता है। Python WSGI सर्वर, या FastCGI/प्रॉक्सी तंत्र के माध्यम से एप्लिकेशन फ्रेमवर्क। यह अलगाव NGINX को एक स्थिर फ़ाइल सर्वर के रूप में उत्कृष्ट प्रदर्शन करने में सक्षम बनाता है, जबकि गतिशील जनरेशन के लिए बैकएंड सेवाओं का लाभ उठाता है, जिससे इष्टतम प्रदर्शन और स्केलेबिलिटी सुनिश्चित होती है।
11) NGINX में लोड बैलेंसिंग कैसे काम करती है, और इसके लिए कौन-कौन से अलग-अलग तरीके उपलब्ध हैं?
NGINX मजबूत सुविधाएँ प्रदान करता है भार संतुलन के माध्यम से upstream यह निर्देश, प्रदर्शन को अनुकूलित करने और उच्च उपलब्धता सुनिश्चित करने के लिए कई बैकएंड सर्वरों में ट्रैफ़िक वितरित करता है। यह कई विधियों का समर्थन करता है:
| विधि | विवरण | सबसे अच्छा उपयोग मामला |
|---|---|---|
| आवेदनपत्र | यह एक डिफ़ॉल्ट विधि है जो अनुरोधों को सर्वरों के बीच क्रमिक रूप से घुमाती है। | कार्यभार का समान वितरण। |
| कम कनेक्शन | सबसे कम सक्रिय कनेक्शन वाले सर्वर को अनुरोध भेजता है। | लंबे समय तक चलने वाले सत्र। |
| आईपी हैश | सर्वर का चयन करने के लिए क्लाइंट आईपी का उपयोग करता है। | सत्र की दृढ़ता. |
| न्यूनतम समय | बैलेंस की गणना प्रतिक्रिया समय और कनेक्शन संख्या के आधार पर की जाती है। | विलंबता के प्रति संवेदनशील अनुप्रयोग। |
NGINX भी ये कार्य कर सकता है। स्वास्थ्य की जाँच अस्वस्थ सर्वरों को गतिशील रूप से हटाने के लिए, निर्बाध यातायात प्रवाह और लचीलापन सुनिश्चित करना।
12) NGINX ओपन सोर्स और NGINX प्लस में क्या अंतर है?
nginx मुक्त स्रोत यह कम्युनिटी वर्जन है जो आवश्यक वेब सर्वर, प्रॉक्सी और लोड बैलेंसिंग क्षमताएं प्रदान करता है। एनजीआईएनएक्स प्लस यह व्यावसायिक संस्करण है जो उन्नत निगरानी, सत्र निरंतरता, गतिशील पुनर्संरचना और सक्रिय स्वास्थ्य जांच जैसे उद्यम-स्तरीय संवर्द्धन के साथ उन सुविधाओं का विस्तार करता है।
| Feature | NGINX ओपन सोर्स | एनजीआईएनएक्स प्लस |
|---|---|---|
| भार संतुलन | बेसिक (राउंड रॉबिन, आईपी हैश) | उन्नत (न्यूनतम समय, गतिशील पुनर्संरचना) |
| निगरानी | मैनुअल / बाहरी उपकरण | अंतर्निर्मित डैशबोर्ड और एपीआई |
| कैशिंग | बुनियादी | शुद्धिकरण नियंत्रण से सुसज्जित |
| सहायता | केवल समुदाय | एंटरप्राइज़ समर्थन और अपडेट |
जिन संगठनों के पास मिशन-क्रिटिकल वर्कलोड होते हैं, वे अक्सर बेहतर विश्वसनीयता और अवलोकन क्षमता के लिए NGINX Plus को चुनते हैं।
13) आप NGINX में कैशिंग कैसे लागू करते हैं?
NGINX में कैशिंग, बार-बार उपयोग की जाने वाली सामग्री को स्थानीय रूप से संग्रहीत करके प्रतिक्रिया गति में सुधार करती है और बैकएंड लोड को कम करती है। इसे निम्न विधि का उपयोग करके सक्षम किया जाता है: proxy_cache निर्देश। उदाहरण विन्यास:
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=1g;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend;
}
}
जब कोई मेल खाने वाला अनुरोध आता है, तो कैश किए गए उत्तर सीधे डिस्क से दिए जाते हैं, जिससे अपस्ट्रीम प्रोसेसिंग छूट जाती है। आप कैश की समय सीमा समाप्त होने को नियंत्रित कर सकते हैं। proxy_cache_valid और विशिष्ट यूआरआई को बाहर रखें proxy_no_cacheयह तंत्र समाचार या ई-कॉमर्स साइटों जैसे उच्च-ट्रैफ़िक वाले वातावरण के लिए महत्वपूर्ण है।
14) “try_files” निर्देश के उद्देश्य और उपयोग की व्याख्या कीजिए।
RSI try_files यह निर्देश अनुरोध को फ़ॉलबैक स्थान पर भेजने से पहले निर्दिष्ट क्रम में फ़ाइलों के अस्तित्व की जाँच करता है। इसका उपयोग आमतौर पर इसके लिए किया जाता है। स्थिर साइट रूटिंग or एकल-पृष्ठ अनुप्रयोग (एसपीए).
उदाहरण:
location / {
try_files $uri $uri/ /index.html;
}
यहां, NGINX पहले यह जांचता है कि अनुरोधित URI किसी फ़ाइल से मेल खाता है या नहीं, फिर किसी डायरेक्टरी से, और अंत में मेल न खाने वाले अनुरोधों को आगे भेज देता है। /index.htmlइससे कैश्ड या स्टैटिक फाइलों को सीधे सर्व करके दक्षता और उपयोगकर्ता अनुभव में सुधार होता है, जिससे अनावश्यक बैकएंड कॉल से बचा जा सकता है।
15) NGINX HTTPS और SSL/TLS टर्मिनेशन को कैसे हैंडल कर सकता है?
NGINX एक SSL/TLS टर्मिनेशन प्रॉक्सी के रूप में कार्य करता है, जो अपस्ट्रीम सेवाओं को अनएन्क्रिप्टेड अनुरोध अग्रेषित करने से पहले सर्वर स्तर पर एन्क्रिप्शन और डिक्रिप्शन को संभालता है। उदाहरण कॉन्फ़िगरेशन:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.crt;
ssl_certificate_key /etc/ssl/private/example.key;
location / {
proxy_pass http://backend;
}
}
यह समर्थन करता है HTTP / 2, OCSP स्टेपलिंग, HSTS, तथा आधुनिक सिफर सुइट्सयह सुरक्षित और उच्च-प्रदर्शन संचार को सक्षम बनाता है। NGINX पर SSL को समाप्त करने से बैकएंड सर्वरों पर एन्क्रिप्शन का भार कम हो जाता है और प्रमाणपत्र प्रबंधन सरल हो जाता है।
16) NGINX में रीराइट और रीडायरेक्ट में क्या अंतर है?
दोनों फिर से लिखना और अनुप्रेषित अनुरोधों को रूट करने के तरीके में बदलाव किया जाता है, लेकिन उनमें मौलिक अंतर होता है:
| पहलू | फिर से लिखना | पुन: निर्देशित |
|---|---|---|
| प्रकार | आंतरिक यूआरएल पुनर्लेखन | बाह्य क्लाइंट पुनर्निर्देशन |
| रेस्पोंस कोड | 200 (आंतरिक) | 301/302 (HTTP रीडायरेक्ट) |
| दर्शनीयता | उपयोगकर्ता के लिए पारदर्शी | क्लाइंट को नया यूआरएल दिखाई देता है |
| उदाहरण | एसईओ-अनुकूल यूआरएल, रूटिंग | डोमेन माइग्रेशन, HTTPS प्रवर्तन |
उदाहरण:
rewrite ^/oldpage$ /newpage permanent; # Redirect rewrite ^/img/(.*)$ /assets/$1 break; # Rewrite
एसईओ और रूटिंग लॉजिक को प्रभावी ढंग से अनुकूलित करने के लिए इस अंतर को समझना महत्वपूर्ण है।
17) आप NGINX को सामान्य कमजोरियों से कैसे सुरक्षित रखते हैं?
सुरक्षा को मजबूत बनाने में सर्वोत्तम प्रथाओं का संयोजन शामिल है:
- सर्वर टोकन अक्षम करें:
server_tokens off; - अनुरोध विधियों को सीमित करें: केवल GET, POST और HEAD को ही अनुमति दें।
- बफर ओवरफ्लो को प्रतिबंधित करें: कॉन्फ़िगर
client_max_body_sizeऔरclient_body_buffer_size. - आधुनिक सिफर के साथ HTTPS का उपयोग करें।
- दर सीमित करना सक्षम करें के माध्यम से
limit_req_zone. - संस्करण की जानकारी छिपाएँ और निर्देशिका सूची को अक्षम करें।
इसके अतिरिक्त, ए का उपयोग करना वेब अनुप्रयोग फ़ायरवॉल (WAF) पसंद ModSecurity with NGINX यह दुर्भावनापूर्ण ट्रैफ़िक को फ़िल्टर कर सकता है। ज़ीरो-डे हमलों से बचाव के लिए NGINX को नियमित रूप से अपडेट करना और सुरक्षा पैच लागू करना आवश्यक है।
18) NGINX वैरिएबल क्या हैं, और कॉन्फ़िगरेशन में इनका उपयोग कैसे किया जाता है?
NGINX वैरिएबल कॉन्फ़िगरेशन और लॉग प्रोसेसिंग में उपयोग किए जाने वाले गतिशील डेटा को संग्रहीत करते हैं। वे अनुरोध हेडर, क्लाइंट आईपी या परिकलित मानों का प्रतिनिधित्व कर सकते हैं। उदाहरणों में शामिल हैं: $remote_addr, $host, $uri, $request_method, तथा $upstream_addr.
उदाहरण के लिए:
log_format custom '$remote_addr - $host - $uri';
वेरिएबल लचीलापन प्रदान करते हैं, जिससे कंडीशनल राउटिंग और कस्टम लॉगिंग संभव हो पाती है। आप कस्टम वेरिएबल को भी परिभाषित कर सकते हैं। set यह निर्देश मॉड्यूलर कॉन्फ़िगरेशन डिज़ाइन में सहायक होता है।
19) NGINX में रेट लिमिटिंग कैसे सेट अप की जा सकती है?
रेट लिमिटिंग यह नियंत्रित करती है कि उपयोगकर्ता कितनी बार अनुरोध भेज सकते हैं, जिससे ब्रूट फोर्स और डीडीओएस हमलों से सुरक्षा मिलती है। इसे निम्न विधि का उपयोग करके कॉन्फ़िगर किया जाता है। limit_req_zone निर्देश:
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
server {
location / {
limit_req zone=mylimit burst=5;
}
}
यह प्रति सेकंड एक अनुरोध की अनुमति देता है, जिसमें अधिकतम पाँच अनुरोधों का एक समूह होता है। NGINX कॉन्फ़िगरेशन के आधार पर अतिरिक्त अनुरोधों को अस्वीकार कर देता है या उनमें देरी करता है। दर सीमा उचित संसाधन उपयोग सुनिश्चित करती है और सर्वर पर अधिक भार पड़ने से रोकती है।
20) रिवर्स प्रॉक्सी के रूप में NGINX का उपयोग करने के क्या फायदे और नुकसान हैं?
रिवर्स प्रॉक्सी के रूप में NGINX कई लाभ प्रदान करता है लेकिन कुछ कमियां भी हैं:
| फायदे | नुकसान |
|---|---|
| उच्च प्रदर्शन और समवर्ती संचालन क्षमता | बड़े पैमाने पर तैनाती के लिए मैन्युअल ट्यूनिंग की आवश्यकता होती है। |
| एसएसएल समाप्ति और केंद्रीकृत सुरक्षा | सीमित डायनामिक मॉड्यूल समर्थन (संकलन-समय) |
| लोड बैलेंसिंग और कैशिंग समर्थन | नए उपयोगकर्ताओं के लिए जटिल कॉन्फ़िगरेशन |
| एप्लिकेशन लेयर फ़िल्टरिंग | देशी गतिशील सामग्री निष्पादन का अभाव |
अधिकांश उद्यम परिदृश्यों में इसके फायदे इसकी सीमाओं से कहीं अधिक हैं, जो NGINX को आधुनिक वेब अवसंरचना का एक अनिवार्य घटक बनाता है।
21) आप उत्पादन में NGINX के प्रदर्शन और स्वास्थ्य की निगरानी कैसे कर सकते हैं?
NGINX की निगरानी करना अवरोधों, विफलताओं और असामान्य ट्रैफ़िक व्यवहार की पहचान करने के लिए महत्वपूर्ण है। इसके लिए कई दृष्टिकोणों का उपयोग किया जा सकता है:
- अंतर्निर्मित स्थिति मॉड्यूल (
stub_status):सक्रिय कनेक्शन, संभाले गए अनुरोध और पढ़ने/लिखने की स्थिति प्रदर्शित करता है। उदाहरण:
location /nginx_status { stub_status; allow 127.0.0.1; deny all; } - NGINX प्लस डैशबोर्ड: REST API और GUI के माध्यम से वास्तविक समय के मेट्रिक्स प्रदान करता है।
- तृतीय-पक्ष एकीकरण: प्रोमेथियस, ग्राफाना, डेटाडॉग या ईएलके जैसे उपकरण मेट्रिक्स और लॉग एकत्र कर सकते हैं।
- पहुँच एवं त्रुटि लॉग: GoAccess या AWStats जैसे उपकरणों के साथ नियमित लॉग रोटेशन और विश्लेषण से अवलोकन क्षमता में सुधार होता है।
मॉनिटरिंग से अपटाइम सुनिश्चित करने, विफलताओं का शीघ्र पता लगाने और क्षमता नियोजन में मदद मिलती है।
22) proxy_pass और fastcgi_pass निर्देशों में क्या अंतर है?
दोनों निर्देश अनुरोधों को बैकएंड सेवाओं तक पहुंचाते हैं, लेकिन इन्हें अलग-अलग प्रोटोकॉल के लिए डिज़ाइन किया गया है:
| निर्देशक | उद्देश्य | बैकएंड प्रोटोकॉल | उदाहरण उपयोग |
|---|---|---|---|
proxy_pass |
HTTP या HTTPS अनुरोधों को बैकएंड सर्वरों को अग्रेषित करता है | HTTP | Revवेब एपीआई या माइक्रोसेवाओं के लिए प्रॉक्सी का उपयोग करना |
fastcgi_pass |
FastCGI प्रोसेसर को अनुरोध भेजता है | FastCGI | पीएचपी-एफपीएम, Python FastCGI अनुप्रयोग |
उदाहरण:
location /api/ {
proxy_pass http://backend;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
संक्षेप में, उपयोग करें प्रॉक्सी_पास सामान्य HTTP बैकएंड के लिए और फास्टसीजीआई_पास पीएचपी जैसे डायनामिक लैंग्वेज रनटाइम के लिए।
23) NGINX में gzip कम्प्रेशन को कैसे कॉन्फ़िगर किया जा सकता है और इसके क्या फायदे हैं?
NGINX में Gzip कम्प्रेशन को सक्षम करने से बैंडविड्थ का उपयोग कम होता है और क्लाइंट को भेजने से पहले टेक्स्ट-आधारित प्रतिक्रियाओं को संपीड़ित करके लोड होने का समय बेहतर होता है।
उदाहरण विन्यास:
gzip on; gzip_types text/plain text/css application/json application/javascript; gzip_min_length 1024; gzip_comp_level 6; gzip_vary on;
लाभ:
- फाइल ट्रांसफर के आकार को 70% तक कम कर देता है।
- टाइम-टू-फर्स्ट-बाइट (टीटीएफबी) और पेज परफॉर्मेंस स्कोर में सुधार करता है।
- इससे बैंडविड्थ की लागत में बचत होती है, जो विशेष रूप से मोबाइल उपयोगकर्ताओं के लिए फायदेमंद है।
हालाँकि, इसे पहले से संपीड़ित फ़ाइलों पर लागू नहीं किया जाना चाहिए (उदाहरण के लिए, .zip, .jpg, .pngसीपीयू ओवरहेड से बचने के लिए।
24) उच्च ट्रैफ़िक के लिए NGINX को ट्यून करने के लिए कुछ सर्वोत्तम अभ्यास क्या हैं?
उच्च ट्रैफ़िक अनुकूलन में संसाधनों और कॉन्फ़िगरेशन मापदंडों का सावधानीपूर्वक समायोजन शामिल होता है:
| क्षेत्र | निर्देशक | अनुशंसित अभ्यास |
|---|---|---|
| कर्मी | worker_processes auto; |
सीपीयू कोर का मिलान करें |
| कनेक्शन | worker_connections 4096; |
समवर्तीता बढ़ाएँ |
| जिंदा रहो | keepalive_timeout 65; |
क्लाइंट के पुन: उपयोग को अनुकूलित करें |
| पट्टिका Descriptओआरएस | OS ulimit -n |
ओपन सॉकेट के लिए सीमाएँ बढ़ाएँ |
| कैशिंग | proxy_cache_path |
बैकएंड लोड कम करें |
| gzip | gzip on; |
टेक्स्ट प्रतिक्रियाओं को संपीड़ित करें |
इसके अतिरिक्त, का उपयोग करना अतुल्यकालिक डिस्क I/O, भार संतुलन, तथा अपस्ट्रीम स्वास्थ्य जांच यह एक साथ भारी मात्रा में आने वाले अनुरोधों के तहत स्थिरता और गति सुनिश्चित करता है।
25) NGINX वेबसॉकेट कनेक्शन को कैसे हैंडल करता है?
वेबसॉकेट क्लाइंट और सर्वर के बीच द्विदिशात्मक संचार को सक्षम बनाते हैं — जो रीयल-टाइम अनुप्रयोगों के लिए महत्वपूर्ण है। NGINX उचित हेडर फ़ॉरवर्डिंग के माध्यम से इसे मूल रूप से सपोर्ट करता है।
उदाहरण विन्यास:
location /ws/ {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
प्रमुख बिंदु:
- RSI
UpgradeऔरConnectionहेडर अनिवार्य हैं। - यह सुनिश्चित करें कि NGINX स्थायी TCP कनेक्शन के लिए HTTP/1.1 का उपयोग करता है।
- वेबसॉकेट के लोड बैलेंसिंग के लिए स्टिकी सेशन की आवश्यकता हो सकती है।
ip_hash.
यह कॉन्फ़िगरेशन चैट, स्टॉक ट्रेडिंग या गेमिंग जैसे एप्लिकेशन को सपोर्ट करता है।
26) “worker_rlimit_nofile” निर्देश का उद्देश्य क्या है?
worker_rlimit_nofile यह वर्कर प्रक्रियाओं के लिए उपलब्ध ओपन फ़ाइल डिस्क्रिप्टर्स की अधिकतम संख्या को परिभाषित करता है। यह सीमा सीधे तौर पर प्रभावित करती है कि NGINX एक साथ कितने कनेक्शन संभाल सकता है। उदाहरण:
worker_rlimit_nofile 100000;
उच्च-समवर्ती प्रणालियों (जैसे एपीआई गेटवे या स्ट्रीमिंग प्लेटफॉर्म) के लिए इस सीमा को बढ़ाना महत्वपूर्ण है। हालाँकि, ऑपरेटिंग सिस्टम की सीमा (ulimit -nसंगति बनाए रखने के लिए ) को भी इस मान के अनुरूप बढ़ाने की आवश्यकता है।
27) यूआरएल रीराइटिंग या HTTPS पर स्वचालित रूप से रीडायरेक्ट करने के लिए NGINX का उपयोग कैसे किया जा सकता है?
HTTP को HTTPS पर रीडायरेक्ट करने से सुरक्षित संचार सुनिश्चित होता है। उदाहरण:
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
यह कॉन्फ़िगरेशन एक जारी करता है 301 स्थायी पुनर्निर्देशन HTTP से HTTPS में परिवर्तन। बेहतर नियंत्रण के लिए, पुनर्लेखन नियम पथ-विशिष्ट पुनर्निर्देशन को लागू कर सकते हैं:
rewrite ^/oldpath$ /newpath permanent;
HTTPS का स्वचालित प्रवर्तन SEO रैंकिंग में सुधार करता है, मैन-इन-द-मिडल हमलों को रोकता है और एक सुसंगत उपयोगकर्ता अनुभव बनाए रखता है।
28) NGINX में “502 बैड गेटवे” त्रुटियों के कुछ सामान्य कारण क्या हैं?
“502 बैड गेटवे” यह दर्शाता है कि प्रॉक्सी के रूप में कार्य कर रहे NGINX को अपस्ट्रीम सर्वर से वैध प्रतिक्रिया प्राप्त करने में विफलता मिली। इसके सामान्य कारणों में शामिल हैं:
- बैकएंड सर्वर क्रैश हो गया या अनुपलब्ध हो गया।
- ग़लत
proxy_passयूआरएल या सॉकेट पथ। - अपस्ट्रीम टाइमआउट (
proxy_read_timeoutबहुत कम)। - फ़ायरवॉल या SELinux अपस्ट्रीम कनेक्शन को ब्लॉक कर रहा है।
- FastCGI पैरामीटर (PHP के लिए) गलत तरीके से कॉन्फ़िगर किए गए हैं।
समस्या को हल करने के लिए, त्रुटि लॉग की जाँच करें (/var/log/nginx/error.log), अपस्ट्रीम पहुंच की पुष्टि करें, और बैकएंड प्रतिक्रियाओं का सीधे परीक्षण करें curl.
29) NGINX माइक्रोसेवाओं और कंटेनर-आधारित आर्किटेक्चर (जैसे, डॉकर, कुबेरनेट्स) का समर्थन कैसे करता है?
NGINX इसके लिए आदर्श है माइक्रोसर्विस वातावरण इसके हल्के डिज़ाइन और रिवर्स प्रॉक्सी कार्यक्षमता के कारण। डॉकर या कुबेरनेट्स में, यह इस प्रकार कार्य करता है:
- इनग्रेस कंट्रोलर: आंतरिक सेवाओं के लिए बाहरी HTTP/S ट्रैफ़िक का प्रबंधन करता है।
- सेवा गेटवे: यह रूटिंग, लोड बैलेंसिंग और प्रमाणीकरण का कार्य करता है।
- साइडकार प्रॉक्सी: यह सर्विस मेश (जैसे, इस्टियो) में लचीलापन और अवलोकन क्षमता को बढ़ाता है।
Kubernetes ConfigMaps के माध्यम से NGINX कॉन्फ़िगरेशन को गतिशील रूप से अपडेट किया जा सकता है, जिससे केंद्रीकृत ट्रैफ़िक नियंत्रण और SSL प्रबंधन संभव हो पाता है। इसका मॉड्यूलर दृष्टिकोण कंटेनरीकृत और क्लाउड-नेटिव परिनियोजन के साथ पूरी तरह से मेल खाता है।
30) प्रोडक्शन सिस्टम के लिए NGINX सुरक्षा को बेहतर बनाने के विभिन्न तरीके क्या हैं?
NGINX की सुरक्षा बढ़ाने के लिए बहुस्तरीय कॉन्फ़िगरेशन की आवश्यकता होती है:
- एसएसएल/टीएलएस सुरक्षा: आधुनिक सिफर का उपयोग करें, SSLv3/TLSv1.0 को अक्षम करें।
- HTTP विधियों को सीमित करें: केवल सुरक्षित क्रियाओं (GET, POST, HEAD) की अनुमति दें।
- सुरक्षा हेडर:
add_header X-Frame-Options "DENY"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block";
- संस्करण की जानकारी छिपाएँ:
server_tokens off; - रेट लिमिटिंग और एक्सेस कंट्रोल को सक्षम करें।
- WAF या Fail2Ban को एकीकृत करें ब्रूट-फोर्स हमलों की रोकथाम के लिए।
इन उपायों के संयुक्त प्रभाव से एक मजबूत, उत्पादन-स्तरीय NGINX वातावरण बनता है जो सामान्य हमलों के प्रति प्रतिरोधी होता है।
31) आप NGINX समस्याओं को प्रभावी ढंग से कैसे डीबग कर सकते हैं?
NGINX को डीबग करने में लॉग, कॉन्फ़िगरेशन फ़ाइलों और प्रोसेस स्टेट्स का व्यवस्थित विश्लेषण शामिल है। मुख्य चरण इस प्रकार हैं:
- वाक्यविन्यास जाँचें:
- रीलोड करने से पहले कॉन्फ़िगरेशन को मान्य करता है।
- विस्तृत रनटाइम डायग्नोस्टिक्स प्रदान करता है।
- टेस्ट कनेक्टिविटी: उपयोग
curl -vorwgetबैकएंड की पहुंच की पुष्टि करने के लिए। - सक्रिय कनेक्शनों की निगरानी करें: के माध्यम से
stub_statusornetstat.
nginx -t
डीबग लॉगिंग सक्षम करें:
error_log /var/log/nginx/error.log debug;
एक्सेस लॉग का विश्लेषण करें: निम्न का उपयोग करके प्रतिक्रिया कोड और अनुरोध पैटर्न का पता लगाएं:
tail -f /var/log/nginx/access.log
NGINX की वर्कर प्रक्रियाओं, बफर सीमाओं और अपस्ट्रीम प्रतिक्रियाओं को समझने से प्रोडक्शन सिस्टम में बाधाओं को तेजी से पहचानने में मदद मिलती है।
32) आप NGINX लॉगिंग को कैसे कॉन्फ़िगर करते हैं, और कस्टम लॉग प्रारूप क्या हैं?
NGINX लचीले लॉगिंग तंत्र प्रदान करता है। access_log और error_log दिशा निर्देशों।
उदाहरण विन्यास:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$request_time"';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log warn;
आप परिभाषित कर सकते हैं कस्टम प्रारूप इसमें निम्नलिखित जैसे मेट्रिक्स शामिल हैं: $upstream_addr, $request_timeया, $bytes_sent.
उन्नत अवलोकन क्षमता के लिए, लॉग अक्सर भेजे जाते हैं ELK, Loki, या Splunk वास्तविक समय के विश्लेषण और डैशबोर्डिंग के लिए।
33) NGINX में proxy_buffering निर्देश की क्या भूमिका है?
proxy_buffering यह नियंत्रित करता है कि NGINX अपस्ट्रीम सर्वरों से प्राप्त प्रतिक्रियाओं को क्लाइंट को भेजने से पहले उन्हें बफर करता है या नहीं।
| की स्थापना | विवरण | उदाहरण |
|---|---|---|
proxy_buffering on; |
Bufferयह अनुकूलित थ्रूपुट के लिए संपूर्ण प्रतिक्रिया है | डिफ़ॉल्ट; प्रदर्शन में सुधार करता है |
proxy_buffering off; |
यह डेटा को बिना बफरिंग के सीधे क्लाइंट तक पहुंचाता है। | रीयल-टाइम स्ट्रीमिंग या एपीआई |
उदाहरण के लिए, बफरिंग को अक्षम करने के लिए:
location /stream/ {
proxy_buffering off;
}
चैट या स्ट्रीमिंग सेवाओं के लिए बफरिंग को अक्षम करना आदर्श है, लेकिन इससे सामान्य वेब ट्रैफिक के लिए थ्रूपुट कम हो सकता है।
34) समझाइए कि NGINX कैशिंग को अमान्य या हटाया कैसे जा सकता है।
NGINX ओपन सोर्स में अंतर्निहित कैश पर्जिंग शामिल नहीं है, लेकिन इसे कई तरीकों से प्राप्त किया जा सकता है:
- मैन्युअल पर्ज: कैश डायरेक्टरी से फाइलें हटाएँ।
rm -rf /var/cache/nginx/*
- तृतीय-पक्ष मॉड्यूल: उपयोग
ngx_cache_purgeHTTP अनुरोध के माध्यम से हटाना:location ~ /purge(/.*) { proxy_cache_purge my_cache $host$1; } - NGINX प्लस की विशेषताएं: यह API आधारित कैश को गतिशील रूप से साफ़ करने की अनुमति देता है।
पुरानी सामग्री को हटाने की प्रक्रिया यह सुनिश्चित करती है कि उसे तुरंत बदल दिया जाए, जिससे सीडीएन या मल्टी-नोड परिनियोजन में सामग्री की ताजगी और एकरूपता बनी रहे।
35) NGINX कनेक्शन टाइमआउट को कैसे हैंडल करता है?
NGINX क्लाइंट या अपस्ट्रीम प्रतिक्रियाओं के लिए प्रतीक्षा करने की अवधि को नियंत्रित करने के लिए कई टाइमआउट निर्देश प्रदान करता है:
| निर्देशक | उद्देश्य | डिफ़ॉल्ट (s) |
|---|---|---|
client_body_timeout |
ग्राहक के आने का प्रतीक्षा समय | 60 |
client_header_timeout |
क्लाइंट हेडर के लिए प्रतीक्षा समय | 60 |
keepalive_timeout |
निष्क्रिय कीपअलाइव कनेक्शन | 75 |
send_timeout |
क्लाइंट को डेटा भेजने का समय आ गया है | 60 |
proxy_read_timeout |
अपस्ट्रीम प्रतिक्रिया के लिए प्रतीक्षा समय | 60 |
सही ट्यूनिंग अनावश्यक डिस्कनेक्शन से बचाती है और नेटवर्क की बदलती परिस्थितियों में भी बेहतर उपयोगकर्ता अनुभव सुनिश्चित करती है।
36) आप NGINX का उपयोग करके ब्लू-ग्रीन डिप्लॉयमेंट कैसे लागू करते हैं?
में नीला-हरा परिनियोजनदो वातावरण (नीला = सक्रिय, हरा = स्टैंडबाय) एक साथ चलते हैं। NGINX इनके बीच ट्रैफिक राउटर के रूप में कार्य करता है।
उदाहरण विन्यास:
upstream app_cluster {
server blue.example.com;
#server green.example.com; # Uncomment during switch
}
server {
location / {
proxy_pass http://app_cluster;
}
}
जब नए संस्करण (ग्रीन) का परीक्षण और सत्यापन हो जाता है, तो अपस्ट्रीम परिभाषा को अपडेट करके और NGINX को रीलोड करके ट्रैफ़िक को स्विच किया जाता है।nginx -s reload).
यह विधि सुनिश्चित करती है शून्य डाउनटाइम एप्लिकेशन अपडेट या रोलबैक के दौरान।
37) रेट लिमिटिंग बर्स्ट क्या है, और यह NGINX के प्रदर्शन को कैसे बेहतर बनाता है?
RSI फट रेट लिमिटिंग में पैरामीटर थोड़े समय के लिए ट्रैफिक में अचानक वृद्धि होने पर भी उसे तुरंत अस्वीकार किए बिना अस्थायी रूप से गुजरने की अनुमति देता है।
उदाहरण:
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
location /api/ {
limit_req zone=mylimit burst=5 nodelay;
}
यहां, थ्रॉटलिंग लागू करने से पहले पांच अतिरिक्त अनुरोध तुरंत स्वीकार कर लिए जाते हैं।
यह तकनीक ट्रैफिक में अचानक होने वाली बढ़ोतरी को सुचारू बनाती है, जिससे बैकएंड सिस्टम पर अत्यधिक दबाव डाले बिना एक समान उपयोगकर्ता अनुभव बना रहता है।
38) NGINX IPv6 और डुअल-स्टैक वातावरण को कैसे संभालता है?
NGINX सर्वर और अपस्ट्रीम दोनों कॉन्फ़िगरेशन में IPv6 को पूरी तरह से सपोर्ट करता है। उदाहरण:
server {
listen [::]:80 ipv6only=on;
server_name example.com;
}
ड्यूल-स्टैक सपोर्ट (IPv4 + IPv6) को निम्नलिखित दोनों को शामिल करके प्राप्त किया जाता है:
listen 80; listen [::]:80;
आईपीवी6 के साथ अनुकूलता व्यापक पहुंच सुनिश्चित करती है, विशेष रूप से मोबाइल और अंतरराष्ट्रीय ग्राहकों के लिए, और आधुनिक इंटरनेट मानकों के अनुपालन के लिए महत्वपूर्ण है।
39) NGINX लोड बैलेंसिंग में स्टिकी सेशन को कैसे कॉन्फ़िगर किया जाता है?
स्टिकी सेशन यह सुनिश्चित करते हैं कि एक ही क्लाइंट से आने वाले अनुरोध हमेशा एक ही बैकएंड सर्वर पर भेजे जाएं।
- का प्रयोग
ip_hash:upstream backend { ip_hash; server app1.example.com; server app2.example.com; } - NGINX प्लस स्टिकी कुकी:
कॉन्फ़िगर करने योग्य कुकीज़ के साथ उन्नत सत्र निरंतरता।
यूजर डैशबोर्ड या शॉपिंग कार्ट जैसे स्टेटफुल एप्लिकेशन के लिए स्टिकी सेशन महत्वपूर्ण हैं, जो साझा स्टोरेज के बिना सेशन डेटा की स्थिरता सुनिश्चित करते हैं।
40) NGINX में मुख्य लॉग स्तर क्या हैं, और वे एक दूसरे से कैसे भिन्न हैं?
NGINX त्रुटि लॉग में विस्तारशीलता को नियंत्रित करने के लिए पदानुक्रमित लॉग स्तरों का समर्थन करता है।
| स्तर | विवरण |
|---|---|
debug |
समस्या निवारण के लिए विस्तृत जानकारी (बहुत विस्तृत) |
info |
सामान्य रनटाइम जानकारी |
notice |
महत्वपूर्ण लेकिन गैर-महत्वपूर्ण घटनाएँ |
warn |
संभावित समस्याएं या गलत विन्यास |
error |
Operaध्यान देने योग्य क्रियात्मक त्रुटियाँ |
crit, alert, emerg |
गंभीर विफलताएँ और सिस्टम अलर्ट |
उदाहरण विन्यास:
error_log /var/log/nginx/error.log warn;
वातावरण के अनुसार लॉग स्तरों को समायोजित करना (स्टेजिंग में डिबग, प्रोडक्शन में चेतावनी) दृश्यता और प्रदर्शन के बीच संतुलन बनाए रखने में मदद करता है।
41) आप NGINX के प्रदर्शन का बेंचमार्क कैसे करते हैं?
NGINX बेंचमार्किंग में कॉन्फ़िगरेशन संबंधी बाधाओं की पहचान करने के लिए थ्रूपुट, लेटेंसी और कॉन्करेंसी को मापना शामिल है। सामान्य उपकरणों में शामिल हैं:
अपाचेबेंच (एबी):
ab -n 10000 -c 100 http://example.com/
- परीक्षण मात्रा और समवर्तीता के लिए अनुरोध करते हैं।
- कार्य: यह विस्तृत विलंबता प्रतिशत और अनुरोध दरें प्रदान करता है।
- घेराबंदी / httperf: यह वास्तविक दुनिया के यातायात भार का अनुकरण करता है।
- ग्राफ़ाना + प्रोमेथियस: लाइव परफॉर्मेंस मैट्रिक्स की निगरानी करता है।
बेंचमार्किंग में निम्नलिखित मापदंडों को मापना चाहिए: requests per second (RPS), time per request, तथा error rate.
ट्यूनिंग वैरिएबल जैसे worker_processes, worker_connections, तथा keepalive_timeout प्रेक्षित थ्रूपुट में उल्लेखनीय सुधार होता है।
42) NGINX को CI/CD पाइपलाइन के साथ कैसे एकीकृत किया जा सकता है?
NGINX सहजता से एकीकृत हो जाता है सीआई / सीडी स्वचालित परिनियोजन, परीक्षण और कॉन्फ़िगरेशन प्रबंधन के लिए। सामान्य दृष्टिकोणों में शामिल हैं:
- कोड के रूप में इन्फ्रास्ट्रक्चर (IaC): Ansible, Terraform या Helm चार्ट का उपयोग करके कॉन्फ़िगरेशन प्रबंधित करें।
- डॉकर कंटेनर: CI टूल्स (Jenkins, GitLab CI, या GitHub Actions) का उपयोग करके NGINX इमेज बनाएं और डिप्लॉय करें।
- स्वचालित परीक्षण: कॉन्फ़िगरेशन को मान्य करें
nginx -tप्रक्रियाधीन चरणों में। - नीले हरे / Canary परिनियोजन स्वचालन: रोलआउट के दौरान अपस्ट्रीम सर्वरों को गतिशील रूप से अपडेट करें।
GitLab CI का उदाहरण स्निपेट:
deploy:
script:
- nginx -t
- systemctl reload nginx
स्वचालित परिनियोजन सुसंगत, संस्करण-नियंत्रित और विश्वसनीय NGINX रोलआउट सुनिश्चित करता है।
43) कुबेरनेट्स में NGINX इनग्रेस कंट्रोलर की भूमिका स्पष्ट कीजिए।
RSI एनजीआईएनएक्स प्रवेश नियंत्रक यह Kubernetes सेवाओं में आने वाले ट्रैफ़िक को प्रबंधित करता है। यह Kubernetes Ingress संसाधनों को NGINX कॉन्फ़िगरेशन में गतिशील रूप से परिवर्तित करता है।
मुख्य कार्यों:
- HTTP/S अनुरोधों को सही सेवा तक पहुंचाता है।
- यह SSL टर्मिनेशन, रेट लिमिटिंग और URL रीराइटिंग की सुविधा प्रदान करता है।
- पॉड्स के बीच लोड बैलेंसिंग का समर्थन करता है।
- बारीक नियंत्रण के लिए एनोटेशन सक्षम करता है (जैसे, रीराइट-टारगेट, प्रॉक्सी-बॉडी-साइज़)।
इनग्रेस YAML का उदाहरण:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-ingress
annotations: nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web-service
port:
number: 80
यह आर्किटेक्चर लचीली स्केलेबिलिटी के लिए ट्रैफिक रूटिंग लॉजिक को कंटेनर डिप्लॉयमेंट से अलग करता है।
44) NGINX HTTP/2 को कैसे हैंडल करता है और इसके क्या फायदे हैं?
NGINX पूरी तरह से समर्थन करता है HTTP / 2HTTP/1.1 का उत्तराधिकारी, जो मल्टीप्लेक्सिंग और हेडर संपीड़न के माध्यम से दक्षता में सुधार करता है।
HTTP/2 को सक्षम करने के लिए:
server {
listen 443 ssl http2;
...
}
लाभ:
| Feature | विवरण |
|---|---|
| बहुसंकेतन | एक TCP कनेक्शन पर कई अनुरोध |
| हेडर संपीड़न (HPACK) | बैंडविड्थ उपयोग को कम करता है |
| सर्वर पुश | ग्राहकों को पहले से ही संपत्तियां भेजता है |
| तेज़ टीएलएस | सुव्यवस्थित सुरक्षित हाथ मिलाना |
HTTP/2 विलंबता और पेज लोड होने के समय को काफी कम कर देता है, खासकर उन आधुनिक वेब अनुप्रयोगों के लिए जिनमें कई संसाधन होते हैं।
45) NGINX में अपस्ट्रीम कीपअलाइव और कनेक्शन रियूज़ में क्या अंतर है?
अपस्ट्रीम कीपअलाइव यह बैकएंड सर्वरों से लगातार कनेक्शन बनाए रखता है, जिससे TCP हैंडशेक ओवरहेड कम हो जाता है। उदाहरण:
upstream backend {
server app1.example.com;
keepalive 32;
}
अंतर:
| पहलू | जिंदा रहो | कनेक्शन का पुनः उपयोग |
|---|---|---|
| विस्तार | NGINX और अपस्ट्रीम के बीच | NGINX और क्लाइंट के बीच |
| उद्देश्य | बैकएंड अनुकूलन | फ्रंटएंड प्रदर्शन |
| विन्यास | keepalive अंदर upstream |
keepalive_timeout in server खंड |
दोनों तकनीकें विलंबता को कम करती हैं लेकिन संचार की विभिन्न परतों (क्लाइंट-साइड बनाम सर्वर-साइड) को सेवा प्रदान करती हैं।
46) आप NGINX को रीस्टार्ट किए बिना उसे डायनामिकली कैसे रीकॉन्फ़िगर कर सकते हैं?
नई कॉन्फ़िगरेशन को गतिशील रूप से लागू करने के लिए बिना डाउनटाइम के, उपयोग reload तंत्र:
nginx -t && nginx -s reload
यह इस बात का संकेत देता है कि मास्टर प्रक्रिया पुराने कर्मचारियों को सुचारू रूप से बंद करते हुए, अद्यतन कॉन्फ़िगरेशन के साथ नए कर्मचारियों को उत्पन्न करना।
NGINX Plus में बदलाव किए जा सकते हैं। एपीआई के माध्यम से (उदाहरण के लिए, अपस्ट्रीम सर्वरों को गतिशील रूप से जोड़ना):
curl --request POST \
--url http://localhost:8080/api/3/http/upstreams/backend/servers \
--header 'Content-Type: application/json' \
--data-raw '{"server":"10.0.0.12"}'
यह क्षमता आधुनिक डेवऑप्स पाइपलाइनों में शून्य-डाउनटाइम परिनियोजन का समर्थन करती है।
47) NGINX में रिवर्स प्रॉक्सी और फॉरवर्ड प्रॉक्सी के बीच मुख्य अंतर क्या हैं?
| पहलू | Reverse प्रॉक्सी | फॉरवर्ड प्रॉक्सी |
|---|---|---|
| ग्राहक दृश्यता | क्लाइंट बैकएंड सर्वरों से अनभिज्ञ हैं | सर्वर क्लाइंट की पहचान से अनजान होते हैं |
| प्राथमिक उपयोग | लोड बैलेंसिंग, कैशिंग, एसएसएल टर्मिनेशन | फ़िल्टरिंग, गुमनामी, पहुँच नियंत्रण |
| सामान्य उपयोग का मामला | वेब ट्रैफ़िक वितरण | कॉर्पोरेट या सुरक्षित आउटबाउंड ब्राउज़िंग |
| NGINX समर्थन | मूल निवासी और व्यापक रूप से प्रयुक्त | कस्टम कॉन्फ़िगरेशन की आवश्यकता है |
उदाहरण (फॉरवर्ड प्रॉक्सी):
location / {
proxy_pass $scheme://$http_host$request_uri;
proxy_set_header Host $http_host;
}
Revवर्स प्रॉक्सीइंग अभी भी प्रमुख उपयोग का मामला बना हुआ है, खासकर एपीआई गेटवे और माइक्रोसर्विस आर्किटेक्चर के लिए।
48) API रेट लिमिटिंग और थ्रॉटलिंग के लिए NGINX का उपयोग कैसे किया जा सकता है?
रेट लिमिटिंग API को दुरुपयोग से बचाती है और उचित उपयोग सुनिश्चित करती है। उदाहरण कॉन्फ़िगरेशन:
limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
server {
location /api/ {
limit_req zone=api_limit burst=20 nodelay;
proxy_pass http://backend;
}
}
तंत्र:
limit_req_zone: साझा मेमोरी ज़ोन और दर को परिभाषित करता है।burst: सीमित अस्थायी उतार-चढ़ाव की अनुमति देता है।nodelay: सीमाओं को तुरंत लागू करता है।
यह कॉन्फ़िगरेशन सुनिश्चित करता है कि प्रत्येक क्लाइंट आईपी प्रति सेकंड केवल 10 अनुरोध कर सकता है, साथ ही साथ थोड़े समय के लिए अनुरोधों की संख्या में वृद्धि की अनुमति भी देता है।
49) एंटरप्राइज डेवऑप्स वातावरण में NGINX के विशिष्ट उपयोग के मामले क्या हैं?
एंटरप्राइज डेवऑप्स इकोसिस्टम में, NGINX कई महत्वपूर्ण भूमिकाएँ निभाता है:
- वेब सर्वर: उच्च प्रदर्शन वाली स्थिर सामग्री वितरण प्रणाली।
- Revवर्स प्रॉक्सी / लोड बैलेंसर: माइक्रोसेवाओं में ट्रैफिक प्रबंधन।
- एपीआई गेटवे: प्रमाणीकरण, रूटिंग और थ्रॉटलिंग।
- इनग्रेस कंट्रोलर: कुबेरनेट्स क्लस्टर के लिए।
- कंटेंट कैशिंग लेयर: बैकएंड लोड को कम करता है।
- एसएसएल टर्मिनेशन एंडपॉइंट: केंद्रीकृत प्रमाणपत्र प्रबंधन.
- मॉनिटरिंग एंडपॉइंट: मैट्रिक्स और अवलोकनशीलता का एकीकरण।
अपने हल्के वजन और मॉड्यूलर डिजाइन के कारण NGINX CI/CD पाइपलाइन, हाइब्रिड क्लाउड और उच्च-उपलब्धता वाले क्लस्टर में अपरिहार्य है।
50) लोड बैलेंसिंग के लिए NGINX और HAProxy के बीच मुख्य अंतर क्या हैं?
दोनों ही उच्च-प्रदर्शन वाले लोड बैलेंसर हैं, लेकिन वे फोकस और आर्किटेक्चर में भिन्न हैं:
| Feature | nginx | HAProxy |
|---|---|---|
| प्राथमिक भूमिका | वेब सर्वर + रिवर्स प्रॉक्सी | समर्पित TCP/HTTP लोड बैलेंसर |
| विन्यास की सरलता | वेब-आधारित कार्यभारों के लिए आसान | जटिल लेकिन अधिक विस्तृत नियंत्रण |
| परत समर्थन | L7 (HTTP), आंशिक L4 | L4 और L7 पूर्ण |
| गतिशील पुनर्संरचना | सीमित (ओपन-सोर्स) | नेटिव रनटाइम अपडेट |
| प्रदर्शन | मिश्रित कार्यभार के लिए उत्कृष्ट | कच्चे भार संतुलन के लिए श्रेष्ठ |
| अतिरिक्त सुविधाएँ | कैशिंग, संपीड़न, स्थिर सामग्री | स्वास्थ्य जांच, स्टिक टेबल |
उद्यम अक्सर संयोजन करते हैं NGINX (फ्रंटएंड) और HAProxy (बैकएंड) बेहतर रूटिंग और स्केलेबिलिटी के लिए।
🔍 वास्तविक दुनिया के परिदृश्यों और रणनीतिक उत्तरों के साथ शीर्ष NGINX साक्षात्कार प्रश्न
1) NGINX क्या है, और उत्पादन वातावरण में इसका आमतौर पर उपयोग क्यों किया जाता है?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता NGINX के बारे में आपके मूलभूत ज्ञान और वास्तविक दुनिया की प्रणालियों में इसके व्यावहारिक मूल्य की आपकी समझ का आकलन करना चाहता है।
उदाहरण उत्तर: “NGINX एक उच्च-प्रदर्शन वाला वेब सर्वर और रिवर्स प्रॉक्सी है जो अपनी इवेंट-ड्रिवन आर्किटेक्चर के लिए जाना जाता है। इसका उपयोग आमतौर पर प्रोडक्शन वातावरण में किया जाता है क्योंकि यह पारंपरिक वेब सर्वरों की तुलना में कम सिस्टम संसाधनों का उपयोग करते हुए बड़ी संख्या में समवर्ती कनेक्शनों को कुशलतापूर्वक संभाल सकता है।”
2) क्या आप NGINX और Apache के बीच अंतर समझा सकते हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता आपकी प्रौद्योगिकी की तुलना करने और उपयोग के मामलों के आधार पर सही उपकरण चुनने की क्षमता का मूल्यांकन कर रहा है।
उदाहरण उत्तर: “NGINX एक अतुल्यकालिक, नॉन-ब्लॉकिंग आर्किटेक्चर का उपयोग करता है, जो इसे उच्च ट्रैफ़िक और स्थिर सामग्री को संभालने में अधिक कुशल बनाता है। Apache एक प्रक्रिया-संचालित मॉडल का उपयोग करता है जो गतिशील कॉन्फ़िगरेशन के लिए अधिक लचीला हो सकता है, लेकिन भारी लोड के तहत अधिक संसाधनों की खपत कर सकता है।”
3) NGINX रिवर्स प्रॉक्सी के रूप में कैसे कार्य करता है?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता रिवर्स प्रॉक्सी अवधारणाओं के बारे में आपकी समझ और आधुनिक आर्किटेक्चर में NGINX की भूमिका की पुष्टि करना चाहता है।
उदाहरण उत्तर: “NGINX क्लाइंट के अनुरोधों को प्राप्त करके और उन्हें बैकएंड सर्वरों को अग्रेषित करके एक रिवर्स प्रॉक्सी के रूप में कार्य करता है। फिर यह सर्वर की प्रतिक्रियाओं को क्लाइंट को लौटाता है, जिससे सुरक्षा, लोड वितरण और समग्र प्रदर्शन में सुधार होता है।”
4) एक ऐसी स्थिति का वर्णन करें जहां आपने लोड बैलेंसिंग के लिए NGINX का उपयोग किया हो।
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता आपके व्यावहारिक अनुभव और वास्तविक परिस्थितियों में NGINX सुविधाओं को लागू करने की आपकी क्षमता की तलाश कर रहा है।
उदाहरण उत्तर: “अपनी पिछली भूमिका में, मैंने राउंड-रोबिन और लीस्ट-कनेक्शन एल्गोरिदम का उपयोग करके कई एप्लिकेशन सर्वरों में ट्रैफ़िक वितरित करने के लिए NGINX को कॉन्फ़िगर किया था। इस दृष्टिकोण ने एप्लिकेशन की उपलब्धता में सुधार किया और किसी भी एक सर्वर को बाधा बनने से रोका।”
5) आप NGINX में SSL और HTTPS कॉन्फ़िगरेशन को कैसे संभालते हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता सुरक्षा संबंधी सर्वोत्तम प्रथाओं और कॉन्फ़िगरेशन प्रबंधन के बारे में आपकी समझ का आकलन करना चाहता है।
उदाहरण उत्तर: “अपनी पिछली नौकरी में, मैंने प्रमाणपत्र स्थापित करके, HTTPS लिसनर को सक्षम करके और मजबूत सिफर सूट लागू करके SSL को कॉन्फ़िगर किया था। मैंने सभी एंडपॉइंट्स पर सुरक्षित संचार सुनिश्चित करने के लिए HTTP से HTTPS रीडायरेक्शन भी लागू किया था।”
6) NGINX में 502 बैड गेटवे त्रुटि का निवारण करने के लिए आप क्या कदम उठाएंगे?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता आपकी समस्या-समाधान क्षमता और समस्या निवारण पद्धति का परीक्षण कर रहा है।
उदाहरण उत्तर: मैं सबसे पहले NGINX एरर लॉग की जाँच करके बैकएंड कनेक्टिविटी समस्याओं की पहचान करूँगा। फिर मैं यह सुनिश्चित करूँगा कि अपस्ट्रीम सर्वर चल रहे हैं, प्रॉक्सी सेटिंग्स सही हैं और टाइमआउट ठीक से कॉन्फ़िगर किए गए हैं।
7) आप उच्च-ट्रैफ़िक वाले अनुप्रयोगों के लिए NGINX के प्रदर्शन को कैसे अनुकूलित करते हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता यह जानना चाहता है कि आप परफॉर्मेंस ट्यूनिंग और स्केलेबिलिटी के प्रति क्या दृष्टिकोण रखते हैं।
उदाहरण उत्तर: “अपनी पिछली नौकरी में, मैंने gzip कम्प्रेशन को सक्षम करके, वर्कर प्रक्रियाओं को ट्यून करके और स्थिर सामग्री के लिए कैशिंग को कॉन्फ़िगर करके NGINX को अनुकूलित किया था। इन बदलावों से प्रतिक्रिया समय और सर्वर लोड में काफी कमी आई।”
8) क्या आप समझा सकते हैं कि NGINX स्थिर और गतिशील सामग्री को कैसे संभालता है?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता अनुरोधों को संभालने और प्रदर्शन अनुकूलन के बारे में आपकी समझ का आकलन कर रहा है।
उदाहरण उत्तर: “NGINX स्थिर सामग्री को सीधे और बहुत कुशलता से फाइल सिस्टम से उपलब्ध कराता है। गतिशील सामग्री के लिए, यह अनुरोधों को एप्लिकेशन सर्वर या PHP-FPM जैसी सेवाओं को अग्रेषित करता है, जिससे प्रत्येक घटक अपने सर्वोत्तम कार्य पर ध्यान केंद्रित कर पाता है।”
9) आप NGINX कॉन्फ़िगरेशन परिवर्तनों को सुरक्षित रूप से कैसे प्रबंधित और परीक्षण करते हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता विश्वसनीयता और जोखिम कम करने के प्रति आपके दृष्टिकोण को समझना चाहता है।
उदाहरण उत्तर: "सर्विस को रीलोड करने से पहले मैं NGINX कॉन्फ़िगरेशन टेस्ट कमांड का उपयोग करके कॉन्फ़िगरेशन परिवर्तनों को सत्यापित करता हूं। मैं रखरखाव अवधि के दौरान भी परिवर्तन लागू करता हूं और परिनियोजन के बाद लॉग की बारीकी से निगरानी करता हूं।"
10) एक ऐसे समय का वर्णन करें जब आपको NGINX से संबंधित किसी रुकावट को तुरंत हल करना पड़ा हो।
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता दबाव में काम करने और घटनाओं के दौरान प्रभावी ढंग से संवाद करने की आपकी क्षमता का मूल्यांकन कर रहा है।
उदाहरण उत्तर: “मेरी पिछली नौकरी में, एक गलत तरीके से कॉन्फ़िगर की गई अपस्ट्रीम सेवा के कारण व्यवधान उत्पन्न हुआ। मैंने लॉग के माध्यम से समस्या की तुरंत पहचान की, कॉन्फ़िगरेशन को वापस पहले जैसा किया और सेवा पूरी तरह से बहाल होने तक हितधारकों को स्थिति की जानकारी देता रहा।”
