Nginx कॉन्फ़िगरेशन

From binaryoption
Jump to navigation Jump to search
Баннер1

Nginx कॉन्फ़िगरेशन: शुरुआती के लिए एक विस्तृत गाइड

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

Nginx की बुनियादी अवधारणाएं

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

  • इवेंट लूप: Nginx एक इवेंट लूप पर आधारित है जो इनकमिंग कनेक्शनों और अनुरोधों की निगरानी करता है। जब कोई इवेंट होता है (जैसे कि एक नया कनेक्शन या डेटा प्राप्त करना), तो इवेंट लूप संबंधित इवेंट हैंडलर को कॉल करता है।
  • कॉन्फ़िगरेशन फाइलें: Nginx को कॉन्फ़िगरेशन फ़ाइलों के माध्यम से कॉन्फ़िगर किया जाता है। मुख्य कॉन्फ़िगरेशन फ़ाइल आमतौर पर `/etc/nginx/nginx.conf` होती है।
  • ब्लॉक: Nginx कॉन्फ़िगरेशन फ़ाइलों में ब्लॉक का उपयोग किया जाता है ताकि कॉन्फ़िगरेशन निर्देशों को समूहीकृत किया जा सके। सबसे महत्वपूर्ण ब्लॉक हैं:
   *   `http`: यह ब्लॉक HTTP और HTTPS अनुरोधों को संभालने के लिए कॉन्फ़िगरेशन निर्देशों को परिभाषित करता है।
   *   `server`: यह ब्लॉक एक विशिष्ट वेबसाइट या एप्लिकेशन के लिए कॉन्फ़िगरेशन निर्देशों को परिभाषित करता है।
   *   `location`: यह ब्लॉक एक विशिष्ट URL पैटर्न के लिए कॉन्फ़िगरेशन निर्देशों को परिभाषित करता है।

Nginx कॉन्फ़िगरेशन फ़ाइल संरचना

एक विशिष्ट Nginx कॉन्फ़िगरेशन फ़ाइल में निम्नलिखित संरचना होती है:

1. ग्लोबल कॉन्टेक्स्ट: यह ब्लॉक Nginx के वैश्विक सेटिंग्स को परिभाषित करता है, जैसे कि उपयोगकर्ता, समूह, वर्कर प्रोसेस की संख्या और लॉग फ़ाइलें। 2. इवेंट्स ब्लॉक: यह ब्लॉक इवेंट लूप और वर्कर कनेक्शन की संख्या को कॉन्फ़िगर करता है। 3. http ब्लॉक: यह ब्लॉक HTTP और HTTPS अनुरोधों को संभालने के लिए कॉन्फ़िगरेशन निर्देशों को परिभाषित करता है। इसके अंदर, आप `server` ब्लॉक को परिभाषित कर सकते हैं। 4. server ब्लॉक: यह ब्लॉक एक विशिष्ट वेबसाइट या एप्लिकेशन के लिए कॉन्फ़िगरेशन निर्देशों को परिभाषित करता है। इसमें `listen` निर्देश (जिस पोर्ट पर सर्वर सुनना चाहिए) और `server_name` निर्देश (जो डोमेन नाम या IP पता सर्वर को हैंडल करना चाहिए) शामिल हैं। इसके अंदर, आप `location` ब्लॉक को परिभाषित कर सकते हैं। 5. location ब्लॉक: यह ब्लॉक एक विशिष्ट URL पैटर्न के लिए कॉन्फ़िगरेशन निर्देशों को परिभाषित करता है। इसमें `proxy_pass` निर्देश (अनुरोध को एक अन्य सर्वर पर अग्रेषित करने के लिए) और `root` निर्देश (स्थिर फ़ाइलों को परोसने के लिए) शामिल हैं।

महत्वपूर्ण कॉन्फ़िगरेशन निर्देश

यहां कुछ महत्वपूर्ण Nginx कॉन्फ़िगरेशन निर्देश दिए गए हैं:

  • listen: यह निर्देश निर्दिष्ट करता है कि सर्वर किस पोर्ट पर सुनना चाहिए। उदाहरण के लिए, `listen 80;` पोर्ट 80 पर सुनेगा (HTTP के लिए डिफ़ॉल्ट पोर्ट)।
  • server_name: यह निर्देश निर्दिष्ट करता है कि सर्वर किस डोमेन नाम या IP पते के लिए अनुरोधों को संभालना चाहिए। उदाहरण के लिए, `server_name example.com;` `example.com` डोमेन नाम के लिए अनुरोधों को संभालेगा।
  • root: यह निर्देश निर्दिष्ट करता है कि स्थिर फ़ाइलों को कहां से परोसा जाना चाहिए। उदाहरण के लिए, `root /var/www/example.com;` `/var/www/example.com` निर्देशिका से फ़ाइलों को परोसेगा।
  • index: यह निर्देश निर्दिष्ट करता है कि यदि कोई विशिष्ट फ़ाइल अनुरोधित नहीं है, तो कौन सी फ़ाइल परोसनी चाहिए। उदाहरण के लिए, `index index.html index.htm;` `index.html` या `index.htm` फ़ाइल को परोसेगा।
  • proxy_pass: यह निर्देश अनुरोध को एक अन्य सर्वर पर अग्रेषित करता है। उदाहरण के लिए, `proxy_pass http://localhost:3000;` अनुरोध को `http://localhost:3000` पर अग्रेषित करेगा।
  • location: यह निर्देश एक विशिष्ट URL पैटर्न के लिए कॉन्फ़िगरेशन निर्देशों को परिभाषित करता है। उदाहरण के लिए, `location /images/ { root /var/www/images; }` `/images/` URL पैटर्न के लिए अनुरोधों को `/var/www/images` निर्देशिका से फ़ाइलों को परोसकर संभालेगा।
  • error_page: यह निर्देश निर्दिष्ट करता है कि त्रुटि होने पर कौन सी फ़ाइल परोसनी चाहिए। उदाहरण के लिए, `error_page 404 /404.html;` 404 त्रुटि होने पर `/404.html` फ़ाइल को परोसेगा।
  • access_log: यह निर्देश निर्दिष्ट करता है कि एक्सेस लॉग फ़ाइल कहां संग्रहीत की जानी चाहिए।
  • error_log: यह निर्देश निर्दिष्ट करता है कि त्रुटि लॉग फ़ाइल कहां संग्रहीत की जानी चाहिए।

सामान्य उपयोग के मामले

यहां Nginx के कुछ सामान्य उपयोग के मामले दिए गए हैं:

  • स्थिर फ़ाइलों को परोसना: Nginx स्थिर फ़ाइलों (जैसे कि HTML, CSS, JavaScript, छवियों) को कुशलतापूर्वक परोस सकता है।
  • रिवर्स प्रॉक्सी: Nginx को एक रिवर्स प्रॉक्सी के रूप में उपयोग किया जा सकता है ताकि बैकएंड सर्वर को एक्सेस से सुरक्षित रखा जा सके और प्रदर्शन को बेहतर बनाया जा सके।
  • लोड बैलेंसिंग: Nginx को एक लोड बैलेंसर के रूप में उपयोग किया जा सकता है ताकि कई बैकएंड सर्वरों पर ट्रैफिक को वितरित किया जा सके और उच्च उपलब्धता सुनिश्चित की जा सके।
  • सुरक्षा: Nginx को SSL/TLS का उपयोग करके सुरक्षित किया जा सकता है और DDoS हमलों से बचाने के लिए कॉन्फ़िगर किया जा सकता है।
  • कैशिंग: Nginx को कैश के रूप में उपयोग किया जा सकता है ताकि बार-बार एक्सेस किए जाने वाले डेटा को संग्रहीत किया जा सके और प्रतिक्रिया समय को कम किया जा सके।

Nginx कॉन्फ़िगरेशन उदाहरण

यहां एक सरल Nginx कॉन्फ़िगरेशन फ़ाइल का उदाहरण दिया गया है जो एक स्थिर वेबसाइट को परोसता है:

स्थिर वेबसाइट के लिए Nginx कॉन्फ़िगरेशन
nginx.conf

```nginx user nginx; worker_processes auto;

error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;


events {

   worker_connections  1024;

}


http {

   include       /etc/nginx/mime.types;
   default_type  application/octet-stream;
   log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
   access_log  /var/log/nginx/access.log  main;
   sendfile        on;
   #tcp_nopush     on;
   keepalive_timeout  65;
   #gzip  on;
   server {
       listen       80;
       server_name  example.com;
       root   /var/www/example.com;
       index  index.html index.htm;
       location / {
           try_files $uri $uri/ =404;
       }
   }

} ```

इस कॉन्फ़िगरेशन में, Nginx पोर्ट 80 पर `example.com` डोमेन नाम के लिए अनुरोधों को सुनता है और `/var/www/example.com` निर्देशिका से फ़ाइलों को परोसता है।

Nginx को रीस्टार्ट और टेस्ट करना

Nginx कॉन्फ़िगरेशन में परिवर्तन करने के बाद, आपको Nginx को रीस्टार्ट या रीलोड करना होगा ताकि परिवर्तन प्रभावी हो सकें। आप निम्नलिखित कमांड का उपयोग कर सकते हैं:

  • रीस्टार्ट: `sudo systemctl restart nginx`
  • रीलोड: `sudo systemctl reload nginx`

यह सुनिश्चित करने के लिए कि आपका कॉन्फ़िगरेशन सही है, आप निम्नलिखित कमांड का उपयोग करके Nginx कॉन्फ़िगरेशन का परीक्षण कर सकते हैं:

  • `sudo nginx -t`

यह कमांड किसी भी सिंटैक्स त्रुटि की जांच करेगा और आपको बताएगा कि आपका कॉन्फ़िगरेशन वैध है या नहीं।

उन्नत कॉन्फ़िगरेशन

Nginx में कई उन्नत कॉन्फ़िगरेशन विकल्प उपलब्ध हैं। कुछ सामान्य उन्नत कॉन्फ़िगरेशन में शामिल हैं:

  • SSL/TLS कॉन्फ़िगरेशन: Nginx को SSL/TLS का उपयोग करके सुरक्षित करने के लिए, आपको एक SSL प्रमाणपत्र प्राप्त करना होगा और Nginx कॉन्फ़िगरेशन फ़ाइल में SSL निर्देश जोड़ना होगा।
  • कैशिंग कॉन्फ़िगरेशन: Nginx को कैश के रूप में उपयोग करने के लिए, आपको कैशिंग निर्देश जोड़ना होगा और कैशिंग नियमों को परिभाषित करना होगा।
  • लोड बैलेंसिंग कॉन्फ़िगरेशन: Nginx को लोड बैलेंसर के रूप में उपयोग करने के लिए, आपको अपस्ट्रीम सर्वरों को परिभाषित करना होगा और लोड बैलेंसिंग एल्गोरिथ्म का चयन करना होगा।
  • रीराइट नियम: Nginx को रीराइट नियमों का उपयोग करके URL को बदलने के लिए कॉन्फ़िगर किया जा सकता है।

Nginx के लिए उपयोगी संसाधन

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

वेब सर्वर || रिवर्स प्रॉक्सी || लोड बैलेंसिंग || SSL/TLS || कैशिंग || रीराइट || HTTP || HTTPS || DDoS || तकनीकी विश्लेषण || वॉल्यूम विश्लेषण || बाजार की गहराई || जोखिम प्रबंधन || पूंजी प्रबंधन || ट्रेडिंग मनोविज्ञान || चार्ट पैटर्न || संकेतक || मूविंग एवरेज || RSI || MACD || बोलिंगर बैंड || फिबोनाची रिट्रेसमेंट || कैंडलस्टिक पैटर्न

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер