Setup load balancing using nginx in linux

  • فرض کنید دو سرور با آدرس‌های زیر در اختیار دارید که بر روی آنها Apache2 نصب و راه اندازی و پیکربندی شده است. (یعنی پورت ۸۰ آنها پاسخگو بوده و وب سایت بالا است)
    • سرور اول : 192.168.134.150
    • سرور دوم : 192.168.134.151

  • حال می‌توان یک سرور به عنوان سرور لود بالانس در جلوی این دو سرور قرار داد
  • در این صورت متقاضیانی که قصد باز کردن وب سایت را دارند، آدرس وب سرور لود بالانس را وارد می کنند.
  • حال در سرور لود بالانس تصمیم گیری می‌شود که در خواست‌ها به سمت کدام یک از سرورها (اول یا دوم) فرستاده شود.
  • عمل لود بالانس در این سناریو با وب سرور nginx انجام می‌شود.

  • توجه کنید که در سرور لود بالانس (با وب سرور nginx) هیچ فایل یا صفحه‌ای میزبانی نمی‌شود.
  • تمام مراحل بالا در سیستم عامل ubuntu 18.04 دنبال می‌شود.
  • فرض بر این شده است که apache2 بر روی سرور اول و دوم نصب و راه اندازی شده است.

  • در سرور لود بالانس ابتدا بسته ها را بروز رسانی کنید :

  • سپس بسته‌ی nginx را نصب کنید :

  • پرونده‌ی زیر را ایجاد کنید و آن را با یک ویرایشگر باز کنید :

  • محتویات زیر را برای پرونده‌ی بالا در نظر بگیرید :

  • در صورت استفاده از دامنه، نام دامنه را به صورت زیر وارد کنید :

  • در بخش و قسمت upstream می‌توان نحوه و متد لود بالانس را مشخص کرد.
  • به عنوان مثال least_conn باعث می شود تا درخواست‌ها به سمت سروری هدایت شوند که کمترین بار و اتصال را دارد.

  • به عنوان مثال ip_hash باعث می‌شود تا در خواست ها به صورت استاتیک و بر اساس آدرس مبدا به سمت سرورها هدایت شوند.

  • به عنوان مثال می‌توان به هر یک از سرورها وزن اختصاص داد تا اولویت انتخاب با آن باشد. (هر چه عدد بالاتر باشد اولویت بالاتر است)

  • در نهایت کافیست از پرونده‌ی بالا یک Link ایجاد کنید :


  • به منظور اطمینان از صحت پرونده‌های کانفیگ از دستور زیر استفاده کنید :

  • در نهایت سرویس nginx را راه اندازی مجدد کنید :


  • مطالعه بیشتر در این لینک | PDF