Nginx: इंस्टॉलेशन और आपकी पहली साइट
Millida VDS पर Nginx कैसे इंस्टॉल करें, अपने एड्रेस पर पहला पेज कैसे दिखाएँ, और टाइपो से कॉन्फ़िगरेशन न तोड़ें।
23 अगस्त 2026 को अपडेट किया गया
Nginx सबसे आम वेब सर्वर है: यह स्टैटिक फ़ाइलें सर्व करता है और रिक्वेस्ट को एप्लिकेशन तक प्रॉक्सी करता है। किसी भी VPS टियर पर यह कुछ दसियों मेगाबाइट मेमोरी लेता है, इसलिए VDS-1 भी काफ़ी है।
इंस्टॉलेशन
SSH से मशीन से कनेक्ट करें (कमांड पैनल के “Overview” टैब में है /hosting/vds/m/<id>) और पैकेज इंस्टॉल करें।
apt update && apt install -y nginx # Debian, Ubuntu
dnf install -y nginx && systemctl enable --now nginx # AlmaLinux, CentOS Stream
जाँचें कि सर्विस चल रही है:
systemctl status nginx
curl -I http://127.0.0.1
अब ब्राउज़र में मशीन का पब्लिक एड्रेस खोलें—यह “Overview” में दिखता है। Nginx का वेलकम पेज दिखना चाहिए।
आपकी पहली साइट
डिफ़ॉल्ट फ़ाइल को एडिट न करें—हर साइट के लिए अलग कॉन्फ़िग बनाएँ। इससे उन्हें चालू और बंद करना आसान रहता है।
mkdir -p /var/www/example.ru
echo '<h1>Works</h1>' > /var/www/example.ru/index.html
chown -R www-data:www-data /var/www/example.ru
server {
listen 80;
server_name example.ru www.example.ru;
root /var/www/example.ru;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
इसे /etc/nginx/sites-available/example.ru में सेव करें (AlmaLinux पर /etc/nginx/conf.d/example.ru.conf) और चालू करें:
ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
nginx -t एक ज़रूरी स्टेप है। यह रीलोड से पहले सिंटैक्स जाँचता है; इसके बिना एक ब्रैकेट की गलती सारी साइटें एक साथ गिरा देगी।
डोमेन और सर्टिफ़िकेट
डोमेन के A रिकॉर्ड को “Overview” वाले मशीन एड्रेस पर पॉइंट करें। जब तक रिकॉर्ड प्रोपेगेट नहीं होता, साइट सिर्फ़ IP से खुलेगी। रिवर्स रिकॉर्ड (PTR) “Access” टैब में सेट होता है; यह साइट के काम को नहीं बदलता—सिर्फ़ ईमेल रेपुटेशन पर असर डालता है।
इसके बाद मुफ़्त सर्टिफ़िकेट इंस्टॉल करें: Let's Encrypt। इसके बिना ब्राउज़र “Not secure” दिखाते हैं।
आम एरर
| लक्षण | कारण | क्या करें |
|---|---|---|
403 Forbidden | डायरेक्टरी पर परमिशन नहीं है या index.html नहीं है | chown -R www-data:www-data /var/www/..., index जाँचें |
502 Bad Gateway | प्रॉक्सी के पीछे वाला एप्लिकेशन चल नहीं रहा | अपनी सर्विस का systemctl status देखें, रिवर्स प्रॉक्सी देखें |
| कोई और साइट खुलती है | रिक्वेस्ट किसी server_name से मैच नहीं हुई और पहले ब्लॉक पर चली गई | server_name साफ़ तौर पर सेट करें, अतिरिक्त कॉन्फ़िग से default_server हटाएँ |
| पोर्ट 80 इस्तेमाल में है | Apache पहले से इंस्टॉल है | इसे बंद करें: systemctl disable --now apache2 |
लॉग /var/log/nginx/error.log में देखें—लगभग किसी भी 500 रिस्पॉन्स का कारण वहीं मिलता है।
Nginx को
systemctl reloadसे रीस्टार्ट करें,restartसे नहीं: reload खुली कनेक्शन बंद किए बिना कॉन्फ़िगरेशन उठा लेता है।