نصب HAProxy 1.7 در Debian 9.1 (کشش)

HAProxy یک برنامه نرم افزاری شبکه ای است که در دسترس بودن ، تعادل بار و پروکسی برای برنامه های شبکه TCP و HTTP را ارائه می دهد. این سایت برای وب سایت های پر ترافیک مناسب است ، و بسیاری از سایت های محبوب در سراسر وب را قدرت می دهد. در این مقاله نحوه نصب و پیکربندی HAProxy در Debian 9.1 به شما نشان داده خواهد شد.

اگرچه HAProxy چندین ویژگی برجسته دارد ، در این مقاله به نحوه تنظیم HAProxy برای "پراکسی" برنامه وب خود پرداخته شده است.

الزامات

  • حداقل دو سرور Vultr (برای عملکرد متعادل سازی بار) با وب سایت یا برنامه وب شما برای هر دوی آنها مستقر است.

نصب HAProxy

Debian 9 در حال حاضر با HAProxy 1.7 (آخرین نسخه پایدار هنگام نوشتن) ارسال می شود ، و ما می توانیم به سادگی آن را با استفاده از apt-get:

# apt-get update
# apt-get install haproxy

اگر دستورات قبلی موفقیت آمیز بودند ، HAProxy را نصب کرده اید و می توانید به مرحله بعدی بروید.

پیکربندی HAProxy

پرونده پیکربندی HAProxy به دو بخش "جهانی" و "پروکسی" تقسیم می شود. یکی به پیکربندی گسترده پردازش می پردازد ، در حالی که دومی شامل پیکربندی پیش فرض ، مقدمات و بخش های باطن است.

بخش جهانی

با استفاده از ویرایشگر متن مورد علاقه خود ، /etc/haproxy/haproxy.cfgبخش های از پیش تعریف شده: "جهانی" و "پیش فرض" را باز کرده و توجه کنید. اولین کاری که ممکن است بخواهید انجام دهید افزایش maxconnبه اندازه معقول است زیرا این کار روی اتصالات HAProxy اجازه می دهد. اتصالات زیاد ممکن است به دلیل درخواست های زیادی باعث خرابی سرویس وب شما شود. شما باید اندازه را تنظیم کنید تا ببینید چه چیزی برای شما مفید است. در بخش جهانی ، یک maxconnمقدار را انتخاب کرده ایم 3072.

global
    daemon
    maxconn 3072

در بخش پیش فرض ، خط زیر را در زیر حالت اضافه کنید http:

option forwardfor

با این کار X-Forwarded-Forهدرهایی به هر درخواست اضافه می شود که به سرورهای باطن شما اجازه می دهد تا آدرس IP اصلی کاربر را یاد بگیرند.

همچنین ، برای فعال کردن حالت اتصال HTTP در نزدیکی سرور ، این خط را اضافه کنید و در عین حال توانایی پشتیبانی از HTTP را در سمت مشتری نگه دارید. این باعث می شود تاخیر در سمت مشتری کاهش یابد و به حفظ منابع سرور کمک کند:

option http-server-close

اگر مایل به استفاده از زنده نگه داشتن در هر دو طرف مشتری و سرور هستید ، در option http-keep-aliveعوض می توانید از آن استفاده کنید. این گزینه به ویژه هنگامی مفید است که هزینه برقراری اتصال جدید به سرور در مقایسه با هزینه بازیابی منابع درخواستی ، قابل توجه باشد.

سرانجام ، پرونده پیکربندی حاصل مانند این خواهد بود:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

بخش پروکسی

برای تنظیم پروکسی خود ، باید دو بخش به پرونده پیکربندی اضافه کنید تا دو بخش پروکسی را تعریف کنید: قسمت جلویی و باطن.

پیکربندی Frontend

خط مقدم اتصالات HTTP شما را اداره می کند. موارد زیر را به انتهای haproxy.cfgپرونده خود اضافه کنید:

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

حتماً public_ipآدرس IP عمومی یا نام دامنه سرور خود را جایگزین کنید.

پیکربندی Backend

با اضافه کردن خطوط زیر به انتهای پرونده پیکربندی ، باطن خود را تنظیم کنید:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

پیکربندی باطن مورد استفاده در اینجا 3 اتصال به نام ایجاد می کند X-www. ( X1 ، 2 یا 3 است.) هر یک از آنها با یک serverX_ip:80 آدرس مطابقت دارد . ( serverX_ipبا آدرس های IP نمونه های Vultr خود جایگزین کنید.) این به شما امکان می دهد تعادل بین هر سرور را در مجموعه سرور مشخص شده بارگیری کنید (فرض کنید که هر آدرس IP مربوط به یک سرور متفاوت باشد). این checkگزینه باعث می شود که بالانسور بار بررسی های سلامتی روی سرور را انجام دهد.

پرونده پیکربندی را ذخیره کنید ، و سپس HAProxy را مجدداً راه اندازی کنید:

service haproxy restart

اگر همه چیز کار می کند ، می توانید به آن متصل شوید http://public_ip/(جایگزین کردن آن با IP عمومی یا نام دامنه همانطور که در مرحله اول تنظیم شده است) و وب سایت خود را مشاهده کنید.

خطاهای اشکال زدایی

اگر نمونه HAProxy پس از اصلاحات از شروع کار خودداری کند ، احتمال دارد که در جایی در پرونده پیکربندی خطایی داشته باشید. برای به دست آوردن پیام های روشن در مورد مسئله در پرونده پیکربندی ، می توانید سعی کنید HAProxy را به صورت دستی با استفاده از این دستور شروع کنید:

# haproxy -f /etc/haproxy/haproxy.cfg

به عنوان مثال ، اگر خروجی مانند این را می بینید:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

سپس ، فراموش کرده اید که شماره پورت را برای سرور مشخص کنید 1-www.

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.