संपादित 3 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
डेबियनएनजिनएक्सवेब सर्वरवेब विकाससर्वर सेटअपलिनक्ससिस्टम प्रशासनओपन सोर्ससीएलआईआईटी
अनुवाद अपडेट किया गया 3 सप्ताह पहले
Nginx एक व्यापक रूप से इस्तेमाल किया जाने वाला वेब सर्वर सॉफ़्टवेयर है जो उच्च प्रदर्शन, स्थिरता, कम संसाधन खपत और सरल विन्यास के लिए जाना जाता है। इस विस्तृत गाइड में, हम देखेंगे कि डिबियन ऑपरेटिंग सिस्टम पर Nginx के साथ एक वेब सर्वर कैसे सेट किया जाए। चरणों में जाने से पहले, यह समझना आवश्यक है कि Nginx क्या है और यह वेब सर्वर विन्यास के लिए फायदेमंद क्यों है।
Nginx (उच्चारण "एनजन-एक्स") खुला स्रोत सॉफ़्टवेयर है जो वेब सेवा, रिवर्स प्रॉक्सिंग, कैचिंग, लोड बैलेंसिंग, मीडिया स्ट्रीमिंग, आदि के लिए है। यह C10k समस्या को संबोधित करने की परियोजना के रूप में शुरू किया गया था - दस हजार कनेक्शनों को एक साथ संभालने के लिए। आज, Nginx उच्च लोड को प्रबंधित करने की इसकी क्षमता और दक्षता के कारण लोकप्रिय है। यह HTTP, HTTPS, SMTP, POP3, और IMAP प्रोटोकॉल के लिए रिवर्स प्रॉक्सी सर्वर, एक लोड बैलेंसर और HTTP कैश के रूप में कार्य कर सकता है, और भी कई उपयोगों में इसका उपयोग होता है। ओपन-सोर्स होने के कारण, यह उपयोग करने के लिए मुफ्त है और इसे वैश्विक योगदानकर्ताओं द्वारा लगातार सुधार किया जा रहा है।
शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित चीजें हैं:
sudo
विशेषाधिकारों के साथ उपयोगकर्ता के रूप में सर्वर का उपयोग।एक बार जब आपके पास ये पूर्वापेक्षाएँ पूरी हो जाएं, आप अपने डिबियन सर्वर पर Nginx स्थापित और कॉन्फ़िगर कर सकते हैं।
पहला कदम यह सुनिश्चित करना है कि आपका सर्वर नवीनतम पैकेजों के साथ अद्यतित है। एक अद्यतन प्रणाली असंगतता समस्याओं को कम करती है और सुरक्षा को बढ़ाती है। अपने सर्वर को अपडेट करने के लिए निम्नलिखित कमांड का उपयोग करें:
sudo apt update sudo apt upgrade
apt update
कमांड पैकेजों और उनके उपलब्ध संस्करणों की सूची को ताज़ा करता है। apt upgrade
कमांड पुराने पैकेजों को नए संस्करणों के साथ अपडेट करता है।
डिबियन का APT पैकेज प्रबंधन उपकरण Nginx जैसे सॉफ़्टवेयर पैकेज स्थापित करना आसान बनाता है। Nginx को स्थापित करने के लिए निम्नलिखित कमांड को निष्पादित करें:
sudo apt install nginx
यह कमांड Nginx पैकेज और इसके निर्भरता को प्राप्त और स्थापित करेगा। एक बार स्थापना पूरी हो जाने पर, Nginx स्वचालित रूप से चलना शुरू हो जाएगा।
Nginx स्थापित होने के बाद, इसकी स्थापना का सत्यापन करना और यह सुनिश्चित करना आवश्यक है कि यह सही ढंग से चल रहा है। Nginx की स्थिति की जांच के लिए निम्नलिखित कमांड का उपयोग करें:
sudo systemctl status nginx
अपेक्षित आउटपुट दिखाता है कि Nginx सक्रिय और चल रहा है। यदि आप Nginx सेवा को शुरू या बंद करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:
sudo systemctl start nginx sudo systemctl stop nginx
Nginx चल रहा है इसे सुनिश्चित करने के बाद, एक वेब ब्राउज़र खोलें और अपने सर्वर के IP पते की खोज करें। यदि आप अपने सर्वर का IP पता नहीं जानते हैं, तो आप इसे इस तरह से पता कर सकते हैं:
hostname -I
जब आप अपने सर्वर के IP पते को ब्राउज़र के एड्रेस बार में दर्ज करते हैं, तो आपको Nginx का डिफ़ॉल्ट स्वागत पृष्ठ देखना चाहिए। यह सत्यापित करता है कि Nginx वेब पेज को सही ढंग से प्रस्तुत कर रहा है।
डिबियन सिस्टम पर, UFW (अति सरल फायरवॉल) आमतौर पर फ़ायरवॉल प्रबंधन सॉफ़्टवेयर के रूप में उपयोग किया जाता है। यदि UFW आपके सर्वर पर चल रहा है, तो आपको अपने वेब सर्वर को सार्वजनिक रूप से एक्सेस करने के लिए HTTP ट्रैफिक की अनुमति देनी होगी। आप UFW की वर्तमान स्थिति की जांच इस प्रकार कर सकते हैं:
sudo ufw status
यदि UFW सक्रिय है, तो Nginx HTTP ट्रैफिक की अनुमति देने के लिए इस कमांड का उपयोग करें:
sudo ufw allow 'Nginx HTTP'
स्थिति को डबल-चेक करें ताकि यह सुनिश्चित किया जा सके कि संबंधित नियम लागू हो:
sudo ufw status
Nginx पृष्ठभूमि में एक सेवा के रूप में चलता है। आप इस सेवा को systemctl
कमांड का उपयोग करके प्रबंधित कर सकते हैं। यहाँ Nginx प्रबंधन के लिए कुछ सहायक systemctl
कमांड हैं:
sudo systemctl start nginx
: Nginx सेवा शुरू करता है।sudo systemctl stop nginx
: Nginx सेवा रोक देता है।sudo systemctl restart nginx
: Nginx सेवा को पुनरारंभ करता है। इसका उपयोग कॉन्फ़िगरेशन फ़ाइलों में परिवर्तन करने या छोटी समस्याओं को हल करने के बाद करें।sudo systemctl reload nginx
: बिना कनेक्शनों को गिराए Nginx को पुनः लोड करता है। उपयोगकर्ताओं को बाधित किए बिना परिवर्तनों को लागू करने के लिए उपयोगी है।sudo systemctl enable nginx
: Nginx को स्वचालित रूप से बूट पर शुरू करने के लिए सेट करता है।sudo systemctl disable nginx
: Nginx को बूट पर स्वचालित रूप से शुरू होने से रोकता है।Nginx कॉन्फ़िगरेशन फ़ाइलें आमतौर पर /etc/nginx
निर्देशिका में स्थित होती हैं। मुख्य कॉन्फ़िगरेशन फ़ाइल /etc/nginx/nginx.conf
है, जो मोड्यूल प्रबंधन करने, उपयोगकर्ता अनुमति सेट करने, आदि के लिए निर्देश chứa करती है।
अक्सर, वर्चुअल होस्ट कॉन्फ़िगरेशन को अलग से /etc/nginx/sites-available
निर्देशिका में प्रबंधित किया जाता है। इस निर्देशिका में व्यक्तिगत डोमेन के लिए कॉन्फ़िगरेशन फ़ाइलें होती हैं, जिन्हें /etc/nginx/sites-enabled
से सिंबलिक लिंक किया जाता है ताकि उन्हें सक्रिय किया जा सके। आप /etc/nginx/snippets
में रीयूज़ करने योग्य सेटिंग्स के लिए कॉन्फ़िगरेशन स्निपेट भी पा सकते हैं।
सर्वर ब्लॉक, वर्चुअल होस्टों के बराबर, एक ही सर्वर पर कई साइट्स चलाने की अनुमति देता है। सबसे पहले, /etc/nginx/sites-available/
में जाएं और एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं:
sudo nano /etc/nginx/sites-available/example.com
निम्नलिखित कॉन्फ़िगरेशन फ़ाइल में "example.com" को अपने डोमेन नाम से बदलें:
server { listen 80; server_name example.com www.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
इस सेटअप के साथ, 'example.com' के लिए अनुरोधों को 127.0.0.1:8080 पर चल रहे एप्लिकेशन पर प्रॉक्सी किया जाएगा। उपयुक्त डिफ़ॉल्ट मानों का उपयोग करें या अपने आवश्यकतानुसार कॉन्फ़िगरेशन को समायोजित करें।
site-enabled
में अपनी कॉन्फ़िगरेशन फ़ाइल का एक सिंबलिक लिंक बनाएं:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
यह क्रिया आपके सर्वर ब्लॉक को सक्षम करती है। संभावित त्रुटियों का पता लगाने के लिए नई कॉन्फ़िगरेशन का परीक्षण करें:
sudo nginx -t
यदि कोई त्रुटियां नहीं हैं, तो परिवर्तनों को लागू करने के लिए Nginx को पुनरारंभ करें:
sudo systemctl restart nginx
एक बुनियादी स्थिर HTML फ़ाइल बनाकर सेटअप का परीक्षण कर सकते हैं। एक नई निर्देशिका बनाएँ जो आपके वेब रूट के रूप में कार्य करेगी:
sudo mkdir -p /var/www/example.com/html
उपयुक्त अनुमतियाँ सेट करें:
sudo chown -R $USER:$USER /var/www/example.com/html
एक साधारण HTML फ़ाइल बनाएँ:
nano /var/www/example.com/html/index.html
index.html
में निम्नलिखित सामग्री जोड़ें:
<!DOCTYPE html> <html> <head> <title>स्वागत है</title> </head> <body> <h1>example.com में आपका स्वागत है!</h1> </body> </html>
अपना वेबपेज देखने के लिए http://your_server_ip
या http://example.com
पर जाएं।
अपने वेब सर्वर को सुरक्षित करने के लिए, साइट के लिए SSL/TLS प्रमाणपत्र लागू करना अनुशंसित है। मुफ्त SSL प्रमाणपत्र Let's Encrypt से प्राप्त किए जा सकते हैं, जो मुफ्त प्रमाणपत्रों के साथ स्वचालन समर्थन प्रदान करने वाली एक प्रमाणपत्र प्राधिकरण है।
SSL प्रमाणपत्र पुनः प्रप्ति और स्थापना के लिए Certbot उपयोगिता और Nginx प्लगइन इंस्टॉल करें:
sudo apt install certbot python3-certbot-nginx
इसके बाद, Certbot का उपयोग करके एक प्रमाणपत्र का अनुरोध करें:
sudo certbot --nginx
Certbot आवश्यक जानकारी, जैसे आपका डोमेन नाम और ईमेल पूछेगा। सफलतापूर्वक पूरा होने पर, Certbot स्वचालित रूप से Nginx को पुनःलोड़ करता है। सुरक्षित HTTPS कनेक्शन की पुष्टि करने के लिए https://example.com
पर जाएं जिसे पैडलॉक आइकन द्वारा दर्शाया गया है।
Certbot एक systemd जॉब सेट अप करता है जो SSL प्रमाणपत्र नवीनीकरण को स्वचालित रूप से हैंडल करता है। आप एक मैन्युअल नवीनीकरण जांच भी कर सकते हैं:
sudo certbot renew --dry-run
उन्नयन की जांच करें और सुनिश्चित करें कि यह किसी भी त्रुटि के बिना सफल है।
एक बार Nginx कॉन्फ़िगर हो जाने के बाद, अब आप विभिन्न वेबसाइटों की मेजबानी और सेवा कर सकते हैं। सर्वर प्रदर्शन की निगरानी करें, लॉग प्रबंधित करें, और सुरक्षा और दक्षता बनाए रखने के लिए Nginx और सर्वर पैकेजों को अद्यतित रखें। Nginx वेब सर्वर वेब कार्यों और वास्तुकला की आवश्यकताओं के लिए एक शक्तिशाली उपकरण है।
डिबियन पर Nginx के साथ एक वेब सर्वर सेट करना कॉन्फ़िगरेशन, सर्वर ब्लॉक जोड़ने और SSL के साथ सुरक्षा सुनिश्चित करने की मात्रा को शामिल करता है। Nginx स्थापना, कॉन्फ़िगरेशन, और प्रबंधन की मूल बातें समझना और अधिक जटिल अनुप्रयोगों और सेवा प्रस्तावों के लिए नींव रखता है। अब आपके पास एक चल रहा वेब सर्वर होना चाहिए जो उच्च दक्षता के साथ पृष्ठों या अनुप्रयोगों को सेवा देने के लिए तैयार है।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं