صبر کنید...
مرکز آموزش میلاد سرور

ساخت Virtual Host در Nginx برای چند دامنه

تصویر آموزشی ساخت Virtual Host در Nginx برای چند دامنه
راهنمای تصویری و مرحله‌به‌مرحله میلاد سرور

با virtual host می‌توانید چند سایت را روی یک سرور با دامنه‌های جدا اجرا کنید.

آخرین به‌روزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی

در این آموزش چه یاد می‌گیرید؟
  • ساخت Virtual Host در Nginx برای چند دامنه
  • پوشه سایت و فایل index را بسازید
  • پیکربندی را تست و reload کنید

چرا این موضوع مهم است؟

موضوع Nginx یکی از پایه‌های نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفه‌جویی در زمان پشتیبانی می‌شود.

اگر تازه سرور خریده‌اید، این آموزش نقطه شروع خوبی برای آشنایی با سرویس و جلوگیری از خطاهای رایج است.

پیش‌نیازها

  • دسترسی SSH با کاربر root یا کاربر دارای sudo
  • Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیع‌های مشابه)
  • نسخه پشتیبان از فایل‌ها و دیتابیس‌های مهم

راهنمای گام‌به‌گام

گام 1 — پوشه سایت و فایل index را بسازید

پوشه سایت و فایل index را بسازید. مقدارهای نمونه را با اطلاعات واقعی سرور خود جایگزین کنید و از اجرای دستور با مقادیر پیش‌فرض پرهیز کنید.

گام 2 — یک فایل server block جدید ایجاد کنید

یک فایل server block جدید ایجاد کنید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.

گام 3 — server_name و root را تنظیم کنید

server_name و root را تنظیم کنید. این کار را در بازه کم‌ترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.

گام 4 — لاگ جداگانه برای سایت تعریف کنید

لاگ جداگانه برای سایت تعریف کنید. این مرحله را با دقت انجام دهید و خروجی دستور را بررسی کنید تا از اعمال درست تغییرات مطمئن شوید.

گام 5 — لینک به sites-enabled بسازید

لینک به sites-enabled بسازید. پس از اجرا، وضعیت سرویس و لاگ‌ها را کنترل کنید؛ تغییر بدون بررسی می‌تواند خطای پنهان ایجاد کند.

گام 6 — پیکربندی را تست و reload کنید

پیکربندی را تست و reload کنید. اگر روی چند سرور کار می‌کنید، این مورد را یک‌بار روی محیط تست اجرا و سپس روی تولید اعمال کنید.

نمودار مراحل ساخت Virtual Host در Nginx برای چند دامنه
شش گام اصلی این آموزش در یک نگاه

نمونه دستورها

نمونه دستورهای ساخت Virtual Host در Nginx برای چند دامنه
دستورهای پیشنهادی؛ مقادیر نمونه را با اطلاعات سرور خود جایگزین کنید.
server {
  listen 80;
  server_name example.com www.example.com;
  root /var/www/example;
  index index.php index.html;
}

نکات امنیتی و بهینه‌سازی

  • لاگ‌ها را پایش کنید تا رفتار غیرعادی زودتر شناسایی شود.
  • تغییرات را مستند کنید تا در آینده یا هنگام تحویل به تیم دیگر قابل پیگیری باشد.
  • رمزها و کلیدها را در فایل‌های محافظت‌شده نگه دارید و هرگز در کد یا مخزن عمومی قرار ندهید.

خطاهای رایج و راه‌حل

  • خطای اتصال شبکه را با dig، ping و ss بررسی کنید؛ ممکن است فایروال یا DNS مقصر باشد.
  • اگر سرویس بالا نیامد، ابتدا journalctl و فایل خطای همان سرویس را بخوانید.
  • خطای اتصال شبکه را با dig، ping و ss بررسی کنید؛ ممکن است فایروال یا DNS مقصر باشد.
نکته طلایی: برای هر دامنه یک فایل جدا نگه دارید؛ مدیریت و rollback بسیار ساده‌تر می‌شود.

سؤالات متداول

اگر دامنه به سرور وصل نباشد چه می‌شود؟

Nginx همان سایت را نشان می‌دهد ولی مرورگر به IP دیگری می‌رود؛ ابتدا DNS را تنظیم کنید.

چطور سایت پیش‌فرض را حذف کنم؟

لینک default را از sites-enabled بردارید و Nginx را reload کنید.

سرور مناسب نیازتان را انتخاب کنید

میلاد سرور پلن‌های اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آی‌پی اختصاصی و قیمت شفاف ارائه می‌کند. برای مقایسه همه کشورها فهرست کامل سرورهای بین‌الملل را ببینید.

جمع‌بندی

گام بعدی پیشنهادی: یک برنامه بکاپ خودکار و مانیتورینگ آپتایم برای همین سرویس راه‌اندازی کنید.

این آموزش برای شما مفید بود؟نظر شما به بهتر شدن آموزش‌ها کمک می‌کند.
اشتراک‌گذاری:تلگرامواتساپX