Nginx एक वेब सर्वर और रिवर्स प्रॉक्सी सर्वर है जिसमें ओपन-सोर्स कोड होता है। यह उच्च वेबसाइट ट्रैफिक को हैंडल करने और अनुरोधों के लिए त्वरित और दक्ष सेवा प्रदान करने के लिए डिज़ाइन किया गया है। Nginx स्टेटिक पेज और फ़ाइल सेवा करने के लिए एक स्वतंत्र वेब सर्वर के रूप में भी उपयोग किया जा सकता है, और एक रिवर्स प्रॉक्सी सर्वर के रूप में भी लोड बैलेंसिंग और कई सर्वरों के बीच अनुरोधों को वितरित करने के लिए उपयोग किया जा सकता है। यह उच्च प्रदर्शन, संसाधन कुशलता और स्केलेबिलिटी के लिए जाना जाता है, जो इसे वेब डेवलपमेंट और नेटवर्क प्रबंध के लिए उपयोगी बनाता है। इस लेख में हम Debian 11 पर Nginx की स्थापना करने का विवरण देखेंगे। इस निर्देशिका Debian 10 जैसे पहले संस्करणों के लिए भी उपयोगी होगी।
यहां हर कदम के साथ Debian 11 पर Nginx को स्थापित करने के लिए विस्तृत विश्लेषणात्मक विश्लेषणों के साथ एक कदम से कदम रूपरेखा है:
कदम 1. सिस्टम को अपडेट करें
स्थापना शुरू करने से पहले, सिस्टम को अपडेट करने की सलाह दी जाती है। इसके लिए, निम्नलिखित आदेश को चलाएं:
sudo apt update && sudo apt upgrade
कदम 2. Nginx को इंस्टॉल करें
Nginx को इंस्टॉल करने के लिए, निम्नलिखित आदेश को चलाएं:
sudo apt install nginx
कदम 3. Nginx को शुरू करें
Nginx के स्थापना के बाद, यह स्वयं शुरू होना चाहिए। यदि ऐसा नहीं है, तो निम्नलिखित आदेश को चलाएं:
sudo systemctl start nginx
कदम 4. Nginx की स्थिति की जाँच करें
Nginx को सही तरीके से शुरू होने के लिए, निम्नलिखित आदेश को चलाएं:
sudo systemctl status nginx
यदि सब कुछ ठीक हो गया है, तो “active (running)” संदेश देखना चाहिए।
कदम 5. फ़ायरवॉल को कॉन्फ़िगर करें
Nginx तक पहुंच को अनुमति देने के लिए, आपको पोर्ट 80 और/या 443 खोलने की जरूरत है। इसके लिए, निम्नलिखित आदेशों को चलाएं:
sudo ufw allow 'Nginx HTTP' sudo ufw allow 'Nginx HTTPS'
कदम 6. Nginx को जांचें
अब आप एक वेब ब्राउज़र खोलकर और सर्वर का IP पता पंक्ति में डालकर यह जांच सकते हैं कि Nginx सही तरीके से काम कर रहा है या नहीं। आपको Nginx के डिफ़ॉल्ट स्वागत पृष्ठ को देखना चाहिए।
कदम 7. वर्चुअल होस्ट कॉन्फ़िगर करें
यदि आप एक वर्चुअल होस्ट सेट अप करना चाहते हैं, तो /etc/nginx/sites-available निर्देशिका में एक नया कॉन्फ़िगरेशन फ़ाइल बनाएं। उदाहरण के लिए, एक्साम्पल.कॉम के लिए एक फ़ाइल बनाने के लिए, निम्नलिखित आदेश को चलाएं:
sudo nano /etc/nginx/sites-available/test.friendhosting.net
फाइल में निम्नलिखित कोड जोड़ें:
server { listen 80; listen [::]:80; server_name test.friendhosting.net www.test.friendhosting.net; root /var/www/test.friendhosting.net/; index index.html; location / { try_files $uri $uri/ =404; } }
इस उदाहरण में हम test.friendhosting.net के लिए एक वर्चुअल होस्ट बनाते हैं, रूट डायरेक्टरी कॉन्फ़िगर करते हैं और इंडेक्स के रूप में कौन सी फ़ाइल का उपयोग करना होगा उसे परिभाषित करते हैं। साथ ही, हम अनुरोध पर फ़ाइल और फ़ोल्डर की जांच भी कॉन्फ़िगर करते हैं।
चलो एक वर्चुअल होस्ट कॉन्फ़िगर करने की विस्तृत जानकारी लेते हैं।
listen: आयात कनेक्शन के लिए कौनसा IP-पता और पोर्ट सुनना होगा, इसे निर्धारित करता है। इस उदाहरण में, “listen 80” इस बात को दर्शाता है कि सर्वर पोर्ट 80 पर कनेक्शन सुनेगा, जो HTTP ट्रैफ़िक के लिए आमतौर पर इस्तेमाल होता है।
server_name: इस वर्चुअल होस्ट द्वारा सेवा की जाने वाली वेबसाइट के डोमेन नाम को निर्धारित करता है। इस उदाहरण में, “server_name test.friendhosting.net” इस बात को दर्शाता है कि यह वर्चुअल होस्ट डोमेन नाम test.friendhosting.net वाली वेबसाइट की सेवा करेगा।
root: वेबसाइट फ़ाइलें कहां स्थित होंगी, उसकी जड़ निर्धारित करता है। इस उदाहरण में, “root /var/www/test.friendhosting.net” इस बात को दर्शाता है कि वेबसाइट फ़ाइलें निर्देशिका /var/www/test.friendhosting.net में स्थित होंगी।
index: वेबसाइट के मुख्य पृष्ठ के रूप में उपयोग किए जाने वाले फ़ाइल का नाम निर्धारित करता है। इस उदाहरण में, “index index.html” इस बात को दर्शाता है कि फ़ाइल index.html मुख्य प
कदम 8. वर्चुअल होस्ट को सक्रिय करें
वर्चुअल होस्ट को सक्रिय करने के लिए, sites-enabled निर्देशिका में एक symbolic link फ़ाइल बनाएँ:
sudo ln -s /etc/nginx/sites-available/test.friendhosting.net /etc/nginx/sites-enabled/
फिर नए सेटिंग्स को लागू करने के लिए Nginx को फिर से शुरू करें:
sudo systemctl restart nginx
चरण 9. वेबसाइट के रूट निर्देशिका को बनाना
उदाहरण के लिए, test.friendhosting.net वर्चुअल होस्ट के लिए रूट निर्देशिका बनाने के लिए, टर्मिनल में निम्नलिखित कमांड का उपयोग करें:
sudo mkdir -p /var/www/test.friendhosting.net
यह कमांड /var/www/ निर्देशिका में test.friendhosting.net निर्देशिका बनाता है। -p विकल्प आपको अगर वे अभी तक मौजूद नहीं हैं तो निर्देशिकाओं को रिकर्सिव रूप से बनाने की अनुमति देता है। यह उपयोगी है यदि /var/www/ निर्देशिका अभी तक मौजूद नहीं है।
निर्देशिका बनाने के बाद, आपको उसके लिए सही अनुमतियां सेट करनी होंगी। हमारे उदाहरण में Nginx वेब सर्वर www-data उपयोगकर्ता के रूप में चलता है, इस उपयोगकर्ता को वेबसाइट के रूट निर्देशिका के लिए पढ़ने और लिखने की अनुमति देने की आवश्यकता होती है।
सही अनुमतियां सेट करने के लिए, निम्नलिखित कमांड का उपयोग करें:
sudo chown -R www-data:www-data /var/www/test.friendhosting.net
यह कमांड test.friendhosting.net निर्देशिका के मालिक और समूह को www-data पर बदल देगा। -R
अब, हमारी डायरेक्टरी /var/www/test.friendhosting.net/ में index.html को कॉपी करने का समय आ गया है और फ़ाइल के लिए सही मालिक और समूह भी सेट करना है। इसके लिए, निम्नलिखित कमांड्स को निष्पादित करें:
sudo cp /var/www/html/index.nginx-debian.html /var/www/test.friendhosting.net/index.html
sudo chown -R www-data:www-data /var/www/test.friendhosting.net/
अब, ब्राउज़र के पता पट्टी में http://test.friendhosting.net डालकर आपको “Welcome to nginx!” स्टैंडर्ड पृष्ठ दिखाई देना चाहिए।
इस निर्देशिका को पूरा करने के बाद हमने Debian 11 ऑपरेटिंग सिस्टम पर पूरी तरह से सेटअप और काम करने वाले वेब सर्वर Nginx प्राप्त किया। वर्चुअल होस्ट, रूट डायरेक्टरी और इंडेक्स फ़ाइल सेटअप द्वारा हम साइट के विकास और प्रकाशन की शुरुआत कर सकते हैं।
यह निर्देशिका Debian 11 पर Nginx वेब सर्वर स्थापित और सेटअप करना चाहते हैं, उन सभी के लिए उपयोगी है। यह एकदम से ट्यूटोरियल स्टेप बाय स्टेप अपनाकर दिए गए काम को पूरा करने और बिना किसी जटिलता के पूरी तरह सेटअप और काम करने वाला सर्वर प्राप्त करने की संभावना देता है। Debian 11 पर Nginx वेब सर्वर को सेटअप करना चाहते हुए सभी के लिए यह निर्देशिका एक संसाधक संसाधन के रूप में सुझाव दिया जाता है।
हमारे प्रैक्टिकल कोर्स के अगले आर्टिकल में, जिसमें WordPress को Debian 11 पर इंस्टॉल करने की प्रक्रिया बिना कंट्रोल पैनल के बताई गई है, हम Apache को Debian 11 पर इंस्टॉल करने और वेबसाइट के सही संचालन के लिए उसकी सेटिंग्स को कॉन्फिगर करने के बारे में चर्चा करेंगे।