- 1 1. परिचय
- 2 2. उबंटू पर एनजिनएक्स इंस्टॉल करना
- 3 3. उबंटू पर बुनियादी एनजिनएक्स कॉन्फ़िगरेशन
- 4 4. एनजिनएक्स शुरू करना और प्रबंधित करना
- 5 5. Nginx फ़ायरवॉल सेटिंग्स और सुरक्षा सुदृढ़ीकरण
- 6 6. Nginx प्रदर्शन ट्यूनिंग और समस्या निवारण
- 7 7. सारांश और अगले कदम
1. परिचय
कई उपयोगकर्ता उबंटू पर एनजिनएक्स का उपयोग करने में रुचि रखते हैं, लेकिन शुरुआती लोगों को पता नहीं चलता कि कहाँ से शुरू करें। यह लेख आसान-से-समझने योग्य, चरण-दर-चरण व्याख्या प्रदान करता है—उबंटू पर एनजिनएक्स इंस्टॉल करने से लेकर इसे कॉन्फ़िगर करने और प्रबंधित करने तक—भले ही आपके पास कोई पूर्व अनुभव न हो।
एनजिनएक्स क्या है?
एनजिनएक्स (इंजन-एक्स) एक उच्च-प्रदर्शन HTTP सर्वर और रिवर्स प्रॉक्सी सर्वर है। इसकी हल्की और लचीली वास्तुकला के कारण, यह दुनिया भर के वेब सर्वरों और अनुप्रयोगों में व्यापक रूप से उपयोग किया जाता है। इसकी संरचना उच्च-ट्रैफ़िक वातावरण को संभालने के लिए विशेष रूप से उपयुक्त है।
उबंटू पर एनजिनएक्स का उपयोग करने के लाभ
उबंटू एक लोकप्रिय लिनक्स वितरण है जिसमें एनजिनएक्स के साथ उत्कृष्ट संगतता है। क्योंकि उबंटू APT पैकेज प्रबंधन प्रणाली का उपयोग करता है, इंस्टॉलेशन और अपडेट आसान हैं, और आप मजबूत स्थिरता और सुरक्षा की अपेक्षा कर सकते हैं।
इस लेख को पढ़ने के बाद, आप समझ जाएंगे:
- उबंटू पर एनजिनएक्स कैसे इंस्टॉल करें
- बुनियादी कॉन्फ़िगरेशन और प्रबंधन प्रक्रियाएँ
- प्रदर्शन ट्यूनिंग और समस्या निवारण तकनीकें
अब, चलिए शुरू करते हैं।
2. उबंटू पर एनजिनएक्स इंस्टॉल करना
उबंटू पर एनजिनएक्स चलाने के लिए, आपको इसे सही ढंग से इंस्टॉल करना होगा। यह खंड इंस्टॉलेशन चरणों की स्पष्ट और सरल तरीके से व्याख्या करता है।
आवश्यक पैकेजों की जाँच करें
एनजिनएक्स इंस्टॉल करने से पहले, सुनिश्चित करें कि आपकी प्रणाली अप-टू-डेट है। निम्नलिखित कमांड चलाएँ:
sudo apt update
sudo apt upgrade
एनजिनएक्स इंस्टॉल करें
एनजिनएक्स इंस्टॉल करने के लिए, निम्नलिखित कमांड दर्ज करें:
sudo apt install nginx
यह कमांड उबंटू के APT रिपॉजिटरी से एनजिनएक्स को सीधे डाउनलोड और इंस्टॉल करता है।
इंस्टॉलेशन की जाँच करें
एनजिनएक्स के सही ढंग से इंस्टॉल होने की जाँच करने के लिए निम्नलिखित कमांड चलाएँ:
sudo systemctl status nginx
यदि स्थिति active (running) दिखाती है, तो इंस्टॉलेशन सफल रहा है।
फ़ायरवॉल कॉन्फ़िगर करें
उबंटू में UFW (Uncomplicated Firewall) शामिल है, जिसका उपयोग आप एनजिनएक्स ट्रैफ़िक की अनुमति देने के लिए कर सकते हैं।
sudo ufw allow 'Nginx Full'
sudo ufw enable
एनजिनएक्स अब पोर्ट 80 (HTTP) और पोर्ट 443 (HTTPS) पर संचार करने के लिए तैयार है।
3. उबंटू पर बुनियादी एनजिनएक्स कॉन्फ़िगरेशन
केवल एनजिनएक्स इंस्टॉल करना पर्याप्त नहीं है—आपको इसे प्रभावी ढंग से उपयोग करने के लिए सही तरीके से कॉन्फ़िगर करना होगा।
कॉन्फ़िगरेशन फ़ाइलों का स्थान और संरचना
एनजिनएक्स निम्नलिखित कॉन्फ़िगरेशन फ़ाइलों का उपयोग करता है:
- मुख्य कॉन्फ़िगरेशन फ़ाइल:
/etc/nginx/nginx.conf - साइट-विशिष्ट कॉन्फ़िगरेशन फ़ाइलें:
/etc/nginx/sites-available/निर्देशिका में स्थित
आमतौर पर, आप sites-available निर्देशिका में वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइलें बनाते हैं और फिर उन्हें सक्रिय करने के लिए sites-enabled निर्देशिका में सिम्बॉलिक लिंक बनाते हैं।
वर्चुअल होस्ट कॉन्फ़िगर करना
वर्चुअल होस्ट एक ही सर्वर को कई डोमेन और प्रोजेक्ट प्रबंधित करने की अनुमति देते हैं। निम्नलिखित उदाहरण example.com को कॉन्फ़िगर करता है:
sudo nano /etc/nginx/sites-available/example.com
नीचे दी गई कॉन्फ़िगरेशन दर्ज करें:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
फ़ाइल को सहेजें, फिर कॉन्फ़िगरेशन को सक्षम करें:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
SSL/TLS कॉन्फ़िगर करना
सुरक्षित संचार सक्षम करने के लिए, SSL/TLS प्रमाणपत्र कॉन्फ़िगर करें। आप Let’s Encrypt का उपयोग करके मुफ़्त प्रमाणपत्र प्राप्त कर सकते हैं।
सबसे पहले, certbot इंस्टॉल करें:
sudo apt install certbot python3-certbot-nginx
फिर प्रमाणपत्र जारी करें और सेटिंग्स को स्वचालित रूप से लागू करें:
sudo certbot --nginx -d example.com -d www.example.com
समाप्ति को रोकने के लिए प्रमाणपत्र ऑटो-नवीनीकरण सक्षम सुनिश्चित करें।
4. एनजिनएक्स शुरू करना और प्रबंधित करना
एक बार एनजिनएक्स इंस्टॉल और कॉन्फ़िगर हो जाने के बाद, आपको इसे शुरू करने, रोकने, रीलोड करने और समस्या निवारण करने का तरीका सीखना होगा। यह खंड आवश्यक प्रशासनिक कमांडों की व्याख्या करता है।
बुनियादी एनजिनएक्स कमांड
उबंटू पर, systemctl कमांड का उपयोग करके एनजिनएक्स प्रबंधित करें:
- Nginx शुरू करें
sudo systemctl start nginx
- Nginx रोकें
sudo systemctl stop nginx
- Nginx पुनः आरंभ करें प्रमुख कॉन्फ़िगरेशन परिवर्तन होने पर उपयोग करें।
sudo systemctl restart nginx
- Nginx पुनः लोड करें बिना पुनः आरंभ किए कॉन्फ़िगरेशन परिवर्तन लागू करें।
sudo systemctl reload nginx
- Nginx स्थिति जांचें
sudo systemctl status nginx
स्वचालित स्टार्टअप सक्षम करें
सिस्टम रीबूट के बाद Nginx को स्वचालित रूप से शुरू करने के लिए:
- ऑटो-स्टार्ट सक्षम करें
sudo systemctl enable nginx
- ऑटो-स्टार्ट अक्षम करें
sudo systemctl disable nginx
लॉग जांच और समस्या निवारण
यदि Nginx अपेक्षित रूप से काम नहीं करता है, तो लॉग जांचें:
- त्रुटि लॉग
sudo tail -f /var/log/nginx/error.log
- एक्सेस लॉग
sudo tail -f /var/log/nginx/access.log
सामान्य समस्याएँ और समाधान
- Nginx शुरू नहीं होता
- कारण: कॉन्फ़िगरेशन फ़ाइल त्रुटियाँ
- समाधान:
bash sudo nginx -tसिंटैक्स त्रुटियों की जाँच करें और उन्हें सुधारें।
- परिवर्तन लागू नहीं हुए
- कारण: Nginx को पुनः लोड नहीं किया गया
- समाधान: परिवर्तन के बाद
sudo systemctl reload nginxचलाएँ।
- पोर्ट खुले नहीं हैं
- कारण: फ़ायरवॉल सेटिंग्स
- समाधान:
bash sudo ufw allow 'Nginx Full'

5. Nginx फ़ायरवॉल सेटिंग्स और सुरक्षा सुदृढ़ीकरण
Nginx चलाते समय सुरक्षा अत्यंत महत्वपूर्ण है। यह अनुभाग UFW को कॉन्फ़िगर करने और Nginx सुरक्षा को सुदृढ़ करने के तरीकों को समझाता है।
UFW के साथ पोर्ट खोलना
UFW Ubuntu पर डिफ़ॉल्ट रूप से स्थापित होता है। Nginx संचार को सक्षम करने के लिए आवश्यक पोर्ट खोलें:
- UFW स्थिति जांचें
sudo ufw status
- Nginx नियम लागू करें
sudo ufw allow 'Nginx Full'
- UFW सक्षम करें
sudo ufw enable
अतिरिक्त सुरक्षा सुधार
- अनावश्यक HTTP विधियों को अक्षम करें
if ($request_method !~ ^(GET|POST|HEAD)$) { return 444; }
- डायरेक्टरी लिस्टिंग अक्षम करें
autoindex off;
- SSL/TLS को सुदृढ़ करें
ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers HIGH:!aNULL:!MD5;
6. Nginx प्रदर्शन ट्यूनिंग और समस्या निवारण
Nginx अपने प्रदर्शन के लिए जाना जाता है, लेकिन उचित ट्यूनिंग इसे और भी बेहतर बना सकती है। यह अनुभाग संसाधनों को अनुकूलित करने और सामान्य समस्याओं को हल करने के तरीकों को समझाता है।
प्रदर्शन ट्यूनिंग
1. वर्कर प्रोसेस कॉन्फ़िगर करें
/etc/nginx/nginx.conf को संपादित करें और वर्कर प्रोसेस की संख्या को अनुकूलित करें:
worker_processes auto;
2. वर्कर कनेक्शन बढ़ाएँ
worker_connections 1024;
3. HTTP/2 सक्षम करें
listen 443 ssl http2;
sudo systemctl reload nginx
4. संपीड़न सक्षम करें
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
5. कैशिंग कॉन्फ़िगर करें
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
सामान्य समस्याएँ और समाधान
1. उच्च लोड पर धीमी अनुरोध
- कारण: अपर्याप्त वर्कर प्रोसेस या कनेक्शन सेटिंग्स
- समाधान: वर्कर पैरामीटर समायोजित करें या लोड बैलेंसिंग लागू करें
2. 403 Forbidden त्रुटि
- कारण: गलत
rootपथ या अनुचित अनुमतियाँ - समाधान:
rootनिर्देश की जाँच करें और अनुमतियों को ठीक करें, उपयोग करके:bash sudo chmod -R 755 /var/www/example.com/html sudo chown -R www-data:www-data /var/www/example.com/html
3. सर्वर टाइमआउट
- कारण: क्लाइंट अनुरोध प्रसंस्करण बहुत लंबा चलता है
- समाधान:
proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300;
4. पुनः आरंभ त्रुटियाँ
- कारण: कॉन्फ़िगरेशन सिंटैक्स समस्याएँ
- समाधान:
sudo nginx -t
7. सारांश और अगले कदम
इस लेख में बताया गया है कि Ubuntu पर Nginx को कैसे स्थापित, कॉन्फ़िगर और प्रबंधित किया जाए। चलिए अब तक सीखी गई बातों की समीक्षा करते हैं और संभावित अगले कदमों की पहचान करते हैं।
लेख समीक्षा
1. Ubuntu पर Nginx स्थापित करना
- आवश्यक पैकेज तैयार किए और APT का उपयोग करके Nginx कैसे स्थापित करें, यह सीखा
- फ़ायरवॉल (UFW) को कॉन्फ़िगर किया ताकि Nginx ट्रैफ़िक की अनुमति मिल सके
2. बुनियादी कॉन्फ़िगरेशन
- फ़ाइल स्थान, वर्चुअल होस्ट सेटअप, और SSL/TLS कॉन्फ़िगरेशन सीखा
3. प्रबंधन संचालन
- स्टार्ट, स्टॉप, रीस्टार्ट, रीलोड, और लॉग जांच कमांड्स में निपुण हुए
4. फ़ायरवॉल और सुरक्षा
- UFW का उपयोग करके आवश्यक पोर्ट खोले और अनावश्यक HTTP मेथड्स को अक्षम किया
5. प्रदर्शन ट्यूनिंग और समस्या निवारण
- वर्कर प्रोसेस को अनुकूलित किया, HTTP/2 सक्षम किया, कैशिंग कॉन्फ़िगर की, और सामान्य समस्याओं को हल किया
अगले कदम
अब जब आप Ubuntu पर Nginx की बुनियादी इंस्टॉलेशन और कॉन्फ़िगरेशन चरणों को समझते हैं, तो आगे बढ़ने पर विचार करें:
- उन्नत Nginx कॉन्फ़िगरेशन सीखें
- लोड बैलेंसिंग और रिवर्स प्रॉक्सी सुविधाओं का अध्ययन करें
- Nginx RTMP मॉड्यूल जैसे अतिरिक्त मॉड्यूल आज़माएँ
- सुरक्षा बढ़ाएँ
- वेब एप्लिकेशन फ़ायरवॉल (WAF) लागू करने पर विचार करें
- ऑटोमेशन पेश करें
- कॉन्फ़िगरेशन और डिप्लॉयमेंट को स्वचालित करने के लिए Ansible या Docker का उपयोग करें
- निगरानी और अनुकूलन टूल्स का उपयोग करें
- प्रदर्शन को विज़ुअलाइज़ और मॉनिटर करने के लिए Prometheus या Grafana लागू करें
अंतिम विचार
Nginx एक तेज़ और लचीला वेब सर्वर है जो सही तरीके से कॉन्फ़िगर किए जाने पर विभिन्न उपयोग मामलों को समर्थन दे सकता है। यहाँ सीखे गए ज्ञान को वास्तविक प्रोजेक्ट्स में लागू करें और आधिकारिक Nginx दस्तावेज़ीकरण और समुदाय संसाधनों के माध्यम से अतिरिक्त सुविधाओं की खोज जारी रखें।
आशा है यह गाइड आपको अपने वेब सर्वर को अधिक कुशलता से प्रबंधित करने में मदद करेगा!



