🔥 Nginx की पूरी गाइड (AWS EC2 पर फोकस के साथ) – हिंदी में
अगर आप AWS EC2 पर Nginx वेब सर्वर सेटअप करना चाहते हैं और इसे पूरी तरह से समझना चाहते हैं, तो यह स्टेप-बाय-स्टेप हिंदी ट्यूटोरियल आपके लिए है।
📌 1. Nginx क्या है? (Introduction to Nginx in Hindi)
Nginx (उच्चारण: “Engine-X”) एक हाई परफॉर्मेंस वेब सर्वर और रिवर्स प्रॉक्सी सर्वर है, जिसे मुख्य रूप से निम्नलिखित कार्यों के लिए उपयोग किया जाता है:
✅ वेब सर्वर: स्टेटिक और डायनामिक कंटेंट को तेजी से सर्व करता है।
✅ रिवर्स प्रॉक्सी: बैकएंड सर्वर (Node.js, PHP, Python) के लिए ट्रैफिक फॉरवर्ड करता है।
✅ लोड बैलेंसर: कई सर्वर पर ट्रैफिक को बैलेंस करता है।
✅ कैशिंग: वेबसाइट को तेजी से लोड करने में मदद करता है।
✅ API गेटवे: REST और GraphQL API के लिए ट्रैफिक मैनेज करता है।
🚀 2. AWS EC2 पर Nginx कैसे इंस्टॉल करें? (Installing Nginx on AWS EC2)
Step 1: EC2 सर्वर को अपडेट करें
sudo apt update && sudo apt upgrade -y
Step 2: Nginx इंस्टॉल करें
sudo apt install nginx -y
Step 3: Nginx सर्वर स्टार्ट करें
sudo systemctl start nginx
Step 4: ऑटो-स्टार्ट इनेबल करें
sudo systemctl enable nginx
Step 5: Nginx स्टेटस चेक करें
sudo systemctl status nginx
✅ अब ब्राउज़र में EC2 का Public IP डालकर चेक करें। अगर “Welcome to Nginx” दिख रहा है, तो सब सही चल रहा है।
🔐 3. फ़ायरवॉल सेटिंग्स (Configuring UFW Firewall for Nginx)
AWS EC2 पर फ़ायरवॉल सेटअप करना जरूरी होता है ताकि आपका सर्वर सुरक्षित रहे।
Step 1: Nginx के लिए HTTP और HTTPS ट्रैफिक को अलाऊ करें
sudo ufw allow 'Nginx Full'
Step 2: फ़ायरवॉल स्टेटस चेक करें
sudo ufw status
अब आपका Nginx सर्वर इंटरनेट पर एक्सेस किया जा सकता है।
📂 4. Nginx की मुख्य फाइलें और डायरेक्टरी (Nginx Configuration Files)
फाइल/डायरेक्टरी | उद्देश्य |
---|---|
/etc/nginx/nginx.conf | मुख्य (ग्लोबल) कॉन्फ़िगरेशन फ़ाइल |
/etc/nginx/sites-available/default | डिफ़ॉल्ट साइट कॉन्फ़िगरेशन |
/etc/nginx/sites-enabled/ | सक्रिय साइट्स को स्टोर करता है |
/var/www/html/ | डिफ़ॉल्ट वेबसाइट फ़ोल्डर |
अगर आप कस्टम कॉन्फ़िगरेशन बनाना चाहते हैं, तो sites-available में फ़ाइल एडिट करें।
🔄 5. Nginx को रिवर्स प्रॉक्सी की तरह सेटअप करें (Reverse Proxy Configuration)
Nginx को Node.js, Express, Django, Flask जैसी बैकएंड सर्विसेज के लिए रिवर्स प्रॉक्सी की तरह उपयोग किया जा सकता है।
Step 1: डिफ़ॉल्ट साइट कॉन्फ़िगरेशन एडिट करें
sudo nano /etc/nginx/sites-available/default
नीचे दिया गया कोड जोड़ें:
nginx server {
listen 80;
server_name your_domain_or_IP;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Step 2: Nginx को रीलोड करें
sudo systemctl reload nginx
✅ अब आप EC2 Public IP पर Node.js ऐप एक्सेस कर सकते हैं!
🔒 6. SSL (HTTPS) सेटअप करना (Enable SSL with Let’s Encrypt)
अगर आप SSL Certificate लगाना चाहते हैं, तो Let’s Encrypt का Certbot इस्तेमाल करें।
Step 1: Certbot इंस्टॉल करें
sudo apt install certbot python3-certbot-nginx -y
Step 2: SSL Certificate प्राप्त करें
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
Step 3: SSL को ऑटो-रिन्यू करें
sudo certbot renew --dry-run
✅ अब आपकी वेबसाइट HTTPS पर सुरक्षित होगी।
🛠️ 7. Nginx Debugging और लॉग्स (Troubleshooting & Logs)
अगर आपका Nginx सर्वर सही से काम नहीं कर रहा, तो नीचे दिए गए लॉग फाइल्स चेक करें:
Error लॉग देखें
sudo tail -f /var/log/nginx/error.log
Access लॉग देखें
sudo tail -f /var/log/nginx/access.log
✅ अगर कोई समस्या हो, तो इन लॉग्स से डिबग करें!
🎯 निष्कर्ष (Final Thoughts)
अब आपने Nginx को AWS EC2 पर इंस्टॉल और कॉन्फ़िगर करना सीख लिया है! 🚀
इस ब्लॉग से आपने क्या सीखा?
✅ Nginx क्या है और यह कैसे काम करता है
✅ AWS EC2 पर Nginx इंस्टॉल करना
✅ फायरवॉल और सिक्योरिटी सेटिंग्स
✅ Nginx को रिवर्स प्रॉक्सी की तरह उपयोग करना
✅ SSL (HTTPS) सेटअप करना
✅ लॉग्स और डिबगिंग
अगर आपको कोई सवाल हो या समस्या आ रही हो, तो कमेंट में पूछें!