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، reverse proxy دیکھیں
کوئی دوسری سائٹ کھلتی ہےدرخواست کسی server_name سے مماثل نہیں ہوئی اور پہلے بلاک پر پہنچیواضح طور پر server_name سیٹ کریں، اضافی کنفیگ سے default_server ہٹائیں
پورٹ 80 مصروف ہےApache پہلے سے انسٹال ہےاسے غیر فعال کریں: systemctl disable --now apache2

لاگز /var/log/nginx/error.log میں چیک کریں—تقریباً کسی بھی 500 جواب کی وجہ وہیں ملتی ہے۔

Nginx کو systemctl reload سے ری اسٹارٹ کریں، restart سے نہیں: reload کھلے کنکشنز کو گرائے بغیر کنفیگریشن اٹھا لیتا ہے۔