Nginx configuration
- Nginx कॉन्फ़िगरेशन: शुरुआती के लिए एक विस्तृत गाइड
Nginx (उच्चारण: इंजन-एक्स) एक शक्तिशाली और लोकप्रिय वेब सर्वर है जो वेब अनुप्रयोगों को परोसने, रिवर्स प्रॉक्सी, लोड बैलेंसिंग, और कैशिंग जैसे कार्यों के लिए उपयोग किया जाता है। यह अपने उच्च प्रदर्शन, स्थिरता और कम संसाधन उपयोग के लिए जाना जाता है। यह लेख शुरुआती लोगों के लिए Nginx कॉन्फ़िगरेशन का एक विस्तृत परिचय प्रदान करता है, जिसमें बुनियादी अवधारणाओं से लेकर उन्नत तकनीकों तक शामिल हैं।
Nginx क्या है?
Nginx एक ओपन-सोर्स, इवेंट-ड्रिवन वेब सर्वर है। पारंपरिक वेब सर्वर, जैसे Apache, प्रत्येक कनेक्शन को संभालने के लिए एक नया थ्रेड या प्रक्रिया बनाते हैं। यह उच्च लोड के तहत संसाधन गहन हो सकता है। इसके विपरीत, Nginx एक नॉन-ब्लॉकिंग, एसिंक्रोनस आर्किटेक्चर का उपयोग करता है। इसका मतलब है कि यह एक ही थ्रेड पर कई कनेक्शनों को संभाल सकता है, जिससे यह उच्च ट्रैफिक वाले वेबसाइटों के लिए अधिक कुशल बन जाता है।
Nginx के मुख्य उपयोग
- **वेब सर्वर:** Nginx स्थिर सामग्री (जैसे HTML, CSS, JavaScript, चित्र) और डायनेमिक सामग्री (जैसे PHP, Python) को परोस सकता है।
- **रिवर्स प्रॉक्सी:** Nginx एक रिवर्स प्रॉक्सी के रूप में काम कर सकता है, जो आपके बैकएंड सर्वर को सीधे इंटरनेट से उजागर किए बिना अनुरोधों को संभालता है। यह सुरक्षा और प्रदर्शन में सुधार कर सकता है।
- **लोड बैलेंसिंग:** Nginx कई बैकएंड सर्वर पर ट्रैफिक वितरित कर सकता है, जिससे उच्च उपलब्धता और स्केलेबिलिटी सुनिश्चित होती है।
- **कैशिंग:** Nginx अक्सर एक्सेस की जाने वाली सामग्री को कैश कर सकता है, जिससे प्रतिक्रिया समय कम होता है और सर्वर लोड कम होता है।
- **मेल प्रॉक्सी:** Nginx मेल सर्वर के लिए प्रॉक्सी के रूप में भी काम कर सकता है।
- **HTTP कैश:** यह वेब पेजों को कैश करके वेबसाइट की गति बढ़ाता है।
- **SSL/TLS समापन:** Nginx SSL/TLS एन्क्रिप्शन को संभाल सकता है, जिससे बैकएंड सर्वर पर लोड कम होता है।
Nginx कॉन्फ़िगरेशन फाइल संरचना
Nginx कॉन्फ़िगरेशन फाइलें आमतौर पर `/etc/nginx/` निर्देशिका में स्थित होती हैं। मुख्य कॉन्फ़िगरेशन फाइल `nginx.conf` है। इस फाइल में वैश्विक सेटिंग्स और अन्य कॉन्फ़िगरेशन फाइलों के लिए निर्देश शामिल होते हैं।
- `nginx.conf`: मुख्य कॉन्फ़िगरेशन फाइल।
- `sites-available/`: इस निर्देशिका में वेबसाइटों के लिए उपलब्ध कॉन्फ़िगरेशन फाइलें होती हैं।
- `sites-enabled/`: इस निर्देशिका में सक्रिय वेबसाइटों के लिए प्रतीकात्मक लिंक होते हैं।
- `conf.d/`: इस निर्देशिका में अतिरिक्त कॉन्फ़िगरेशन स्निपेट होते हैं।
बुनियादी कॉन्फ़िगरेशन सिंटैक्स
Nginx कॉन्फ़िगरेशन फाइलें एक सरल, निर्देश-आधारित सिंटैक्स का उपयोग करती हैं। कॉन्फ़िगरेशन फाइलें ब्लॉकों में संरचित होती हैं, जिन्हें निर्देशिकाएँ कहा जाता है। प्रत्येक निर्देशिका एक विशिष्ट कार्यक्षमता को कॉन्फ़िगर करती है।
- **निर्देशिकाएँ (Blocks):** ये कॉन्फ़िगरेशन के लिए कंटेनर हैं। उदाहरण के लिए, `http`, `server`, और `location`।
- **निर्देश (Directives):** ये विशिष्ट सेटिंग्स हैं जो कॉन्फ़िगरेशन को नियंत्रित करती हैं। उदाहरण के लिए, `listen`, `server_name`, और `root`।
- **तर्क (Arguments):** ये निर्देशों के मान हैं। उदाहरण के लिए, `listen 80;` में `80` `listen` निर्देश का तर्क है।
निर्देशिका | विवरण | उदाहरण |
http | वैश्विक HTTP सर्वर कॉन्फ़िगरेशन | `http { ... }` |
server | एक विशिष्ट वेबसाइट या डोमेन के लिए कॉन्फ़िगरेशन | `server { ... }` |
location | एक विशिष्ट URL पथ के लिए कॉन्फ़िगरेशन | `location / { ... }` |
listen | सर्वर जिस पोर्ट पर सुनेगा | `listen 80;` |
server_name | सर्वर का डोमेन नाम | `server_name example.com;` |
root | वेबसाइट फ़ाइलों का रूट निर्देशिका | `root /var/www/example.com;` |
एक साधारण वेबसाइट को कॉन्फ़िगर करना
एक साधारण वेबसाइट को कॉन्फ़िगर करने के लिए, आपको एक `server` ब्लॉक बनाना होगा जो `listen` निर्देश के साथ एक पोर्ट निर्दिष्ट करता है, `server_name` निर्देश के साथ एक डोमेन नाम निर्दिष्ट करता है, और `root` निर्देश के साथ वेबसाइट फ़ाइलों की रूट निर्देशिका निर्दिष्ट करता है।
```nginx http {
server { listen 80; server_name example.com; root /var/www/example.com;
index index.html index.htm;
location / { try_files $uri $uri/ =404; } }
} ```
इस कॉन्फ़िगरेशन के साथ, जब कोई उपयोगकर्ता `example.com` पर जाता है, तो Nginx `/var/www/example.com` निर्देशिका में `index.html` या `index.htm` फ़ाइल को परोसता है।
रिवर्स प्रॉक्सी कॉन्फ़िगरेशन
रिवर्स प्रॉक्सी के रूप में Nginx को कॉन्फ़िगर करने के लिए, आपको `proxy_pass` निर्देश का उपयोग करना होगा। यह निर्देश अनुरोधों को बैकएंड सर्वर पर भेजता है।
```nginx http {
server { listen 80; server_name example.com;
location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
} ```
इस कॉन्फ़िगरेशन के साथ, जब कोई उपयोगकर्ता `example.com` पर जाता है, तो Nginx अनुरोधों को `http://localhost:3000` पर स्थित बैकएंड सर्वर पर भेजता है। `proxy_set_header` निर्देश बैकएंड सर्वर को मूल होस्ट नाम और क्लाइंट आईपी पता पास करते हैं।
लोड बैलेंसिंग कॉन्फ़िगरेशन
लोड बैलेंसिंग के लिए Nginx को कॉन्फ़िगर करने के लिए, आपको `upstream` ब्लॉक का उपयोग करना होगा। यह ब्लॉक बैकएंड सर्वरों की एक सूची को परिभाषित करता है। फिर आप `proxy_pass` निर्देश में `upstream` ब्लॉक का उल्लेख कर सकते हैं।
```nginx http {
upstream backend { server localhost:3000; server localhost:3001; server localhost:3002; }
server { listen 80; server_name example.com;
location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
} ```
इस कॉन्फ़िगरेशन के साथ, Nginx `localhost:3000`, `localhost:3001`, और `localhost:3002` पर स्थित बैकएंड सर्वरों के बीच अनुरोधों को वितरित करता है।
SSL/TLS कॉन्फ़िगरेशन
SSL/TLS एन्क्रिप्शन को सक्षम करने के लिए, आपको `listen` निर्देश में `ssl` पैरामीटर जोड़ना होगा और `ssl_certificate` और `ssl_certificate_key` निर्देशों का उपयोग करके SSL प्रमाणपत्र और कुंजी फ़ाइलों को निर्दिष्ट करना होगा।
```nginx http {
server { listen 443 ssl; server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key;
root /var/www/example.com;
index index.html index.htm;
location / { try_files $uri $uri/ =404; } }
} ```
इस कॉन्फ़िगरेशन के साथ, Nginx `443` पोर्ट पर SSL एन्क्रिप्शन के साथ अनुरोधों को सुनता है और `/etc/nginx/ssl/example.com.crt` और `/etc/nginx/ssl/example.com.key` फ़ाइलों में निर्दिष्ट SSL प्रमाणपत्र और कुंजी का उपयोग करता है।
लॉगिंग और मॉनिटरिंग
Nginx दो प्रकार के लॉग उत्पन्न करता है: एक्सेस लॉग और त्रुटि लॉग।
- **एक्सेस लॉग:** प्रत्येक अनुरोध के बारे में जानकारी रिकॉर्ड करता है, जैसे कि क्लाइंट आईपी पता, अनुरोध किया गया URL, और प्रतिक्रिया स्थिति कोड।
- **त्रुटि लॉग:** किसी भी त्रुटि या चेतावनी के बारे में जानकारी रिकॉर्ड करता है जो Nginx का सामना करता है।
आप `access_log` और `error_log` निर्देशों का उपयोग करके लॉग फ़ाइलों के स्थान और प्रारूप को कॉन्फ़िगर कर सकते हैं।
```nginx http {
access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;
} ```
Nginx के साथ संबंधित विषय
बाइनरी ऑप्शन ट्रेडिंग से संबंधित विषय (संबंधित रणनीतियों, तकनीकी विश्लेषण और वॉल्यूम विश्लेषण)
- बाइनरी ऑप्शन
- तकनीकी विश्लेषण
- वॉल्यूम विश्लेषण
- चार्ट पैटर्न
- मूविंग एवरेज
- RSI (रिलेटिव स्ट्रेंथ इंडेक्स)
- MACD (मूविंग एवरेज कन्वर्जेंस डाइवर्जेंस)
- बोलिंगर बैंड
- फिबोनाची रिट्रेसमेंट
- ट्रेडिंग रणनीतियाँ
- जोखिम प्रबंधन
- मनी मैनेजमेंट
- बाइनरी ऑप्शन ब्रोकर
- वित्तीय बाजार
- निवेश
निष्कर्ष
Nginx एक शक्तिशाली और बहुमुखी वेब सर्वर है जो विभिन्न प्रकार के कार्यों के लिए उपयोग किया जा सकता है। यह लेख Nginx कॉन्फ़िगरेशन का एक बुनियादी परिचय प्रदान करता है। अधिक जानकारी के लिए, आप Nginx प्रलेखन और ऑनलाइन संसाधनों से परामर्श कर सकते हैं। Nginx कॉन्फ़िगरेशन में महारत हासिल करने के लिए अभ्यास और प्रयोग महत्वपूर्ण है।
अन्य संभावित श्रेणियां (लेकिन कम उपयुक्त):,,
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री