क्या है NGINX
वेब सर्वर और रिवर्स प्रॉक्सी
NGINX एक उच्च-प्रदर्शन ओपन-सोर्स वेब सर्वर, रिवर्स प्रॉक्सी, लोड बैलेंसर और HTTP कैश है। 2004 में Igor Sysoev द्वारा बनाया गया, अब F5 Networks के स्वामित्व में है।
मुख्य कार्य
- वेब सर्वर — स्थिर सामग्री परोसना
- रिवर्स प्रॉक्सी — बैकएंड सर्वर को अनुरोध प्रॉक्सी करना
- लोड बैलेंसिंग — सर्वरों में ट्रैफ़िक वितरित करना
- SSL/TLS समाप्ति — HTTPS कनेक्शन संभालना
- HTTP कैशिंग — अपस्ट्रीम सर्वर प्रतिक्रियाओं को कैश करना
लाभ
- एसिंक्रोनस इवेंट-ड्रिवन आर्किटेक्चर
- कम मेमोरी खपत
- उच्च प्रदर्शन (10K+ कनेक्शन)
- सरल कॉन्फ़िगरेशन
- मॉड्यूलर आर्किटेक्चर
सामान्य उपयोग के मामले
- स्थिर फ़ाइलें परोसना (HTML, CSS, JS, इमेज)
- Node.js, Python, PHP, Java के लिए रिवर्स प्रॉक्सी
- API गेटवे
- Docker कंटेनरों के बीच लोड बैलेंसिंग
- माइक्रोसर्विसेज के लिए SSL ऑफलोडिंग
बुनियादी कॉन्फ़िगरेशन
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
location /static/ {
root /var/www;
expires 30d;
}
}
NGINX vs Apache
| पैरामीटर | NGINX | Apache | |----------|-------|--------| | आर्किटेक्चर | इवेंट-ड्रिवन | प्रोसेस/थ्रेड | | स्थिर फ़ाइलें | तेज़ | धीमा | | .htaccess | नहीं | हाँ | | कॉन्फ़िगरेशन | केंद्रीकृत | वितरित |
लोकप्रिय मॉड्यूल
- ngx_http_gzip_module — प्रतिक्रिया संपीड़न
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — प्रॉक्सी
- ngx_http_upstream_module — लोड बैलेंसिंग
- ngx_http_rewrite_module — URL पुनर्लेखन