Skip to content
VDS · वेबसाइट और वेब सर्वर

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 खुली कनेक्शन बंद किए बिना कॉन्फ़िगरेशन उठा लेता है।