क्विक स्टार्ट: 15 मिनट में वेबसाइट
खाली मशीन से HTTPS सर्टिफ़िकेट वाली चलती nginx साइट तक: इंस्टॉलेशन, साइट डायरेक्टरी, डोमेन, फ़ायरवॉल, और वेरिफ़िकेशन।
23 अगस्त 2026 को अपडेट किया गया
परिदृश्य: एक नया Debian या Ubuntu इंस्टॉल, आपका अपना डोमेन, और लक्ष्य है अपने पेज को HTTPS पर देखना। सभी कमांड root के रूप में SSH पर चलाए जाते हैं।
1. nginx इंस्टॉल करें
apt update && apt install -y nginx
systemctl enable --now nginx
अपने ब्राउज़र में http://your-address खोलें — आपको एक वेलकम पेज दिखना चाहिए। अगर यह नहीं दिखता, तो फ़ायरवॉल जाँचें (स्टेप 3)।
AlmaLinux पर, apt की जगह dnf इस्तेमाल करें; देखें AlmaLinux।
2. डोमेन को पॉइंट करें
अपने रजिस्ट्रार के पैनल में, “Overview” टैब से मशीन का एड्रेस लेकर एक A रिकॉर्ड जोड़ें:
example.com. A 203.0.113.10
www.example.com. A 203.0.113.10
जाँचें कि डोमेन सही एड्रेस पर रिज़ॉल्व हो रहा है:
apt install -y dnsutils
dig +short example.com
रिकॉर्ड अपडेट होने में एक मिनट से लेकर कई घंटे तक लग सकते हैं। जब तक dig पुराना एड्रेस दिखाता है, तब तक आप सर्टिफिकेट जारी नहीं कर पाएँगे।
3. पोर्ट खोलें
apt install -y ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
पहले
allow OpenSSH, फिरenable। उल्टा क्रम आपकी पहुँच काट देगा, और आपको टेक्स्ट कंसोल से लॉगिन करना पड़ेगा।
4. साइट बनाएँ
mkdir -p /var/www/example.com
echo '<h1>Works</h1>' > /var/www/example.com/index.html
chown -R www-data:www-data /var/www/example.com
/etc/nginx/sites-available/example.com में कॉन्फ़िगरेशन:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
एनेबल करें और लागू करें:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
nginx -t ज़रूरी है: यह रीस्टार्ट से पहले कॉन्फ़िग जाँचता है। अगर आउटपुट syntax is ok और test is successful पर खत्म नहीं होता, तो सर्विस रीस्टार्ट न करें — पहले एरर ठीक करें।
5. सर्टिफिकेट जारी करें
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot एक ईमेल माँगेगा, एक listen 443 ssl ब्लॉक जोड़ेगा, और HTTP रीडायरेक्ट सेट करेगा। रिन्यूअल अपने आप सेट हो जाता है; आप इसे ऐसे जाँच सकते हैं:
certbot renew --dry-run
सबसे ज़्यादा क्या गलत होता है
| लक्षण | कारण |
|---|---|
| ब्राउज़र साइट नहीं खोलता | ufw में पोर्ट 80 या 443 बंद है |
Certbot: Timeout during connect | डोमेन अभी मशीन पर पॉइंट नहीं करता, या पोर्ट 80 बंद है |
502 Bad Gateway | nginx ऐसी एप्लिकेशन पर प्रॉक्सी कर रहा है जो चल नहीं रही — अपनी सर्विस के लिए systemctl status जाँचें |
403 Forbidden | डायरेक्टरी पर परमिशन नहीं है, या index.html मौजूद नहीं है |
| आपके पेज की जगह डिफ़ॉल्ट nginx पेज | /etc/nginx/sites-enabled/default हटाया नहीं गया है |
इनमें से किसी भी समस्या के लॉग:
tail -n 50 /var/log/nginx/error.log
journalctl -u nginx -n 50 --no-pager
इसके बाद, अगर आपने अभी तक पहले घंटे की चेकलिस्ट नहीं देखी है, तो उसकी मदद से बेसिक सुरक्षा का ध्यान रखें।