نصب 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.



Leave a Comment

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

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

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

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

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

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

با استفاده از نمایش های MySQL در Debian 7

با استفاده از نمایش های MySQL در Debian 7

مقدمه MySQL دارای یک ویژگی عالی است که به عنوان بازدید شناخته می شود. نمایش نمایش داده شد. برای یک سؤال طولانی مدت از آنها فکر کنید. در این راهنما ،

راه اندازی یک Chroot در دبیان

راه اندازی یک Chroot در دبیان

در این مقاله به شما می آموزد که چگونه زندان دزدگیر را در دبیان تنظیم کنید. تصور می کنم از Debian 7.x استفاده می کنید. اگر دبیان 6 یا 8 را اجرا کردید ، ممکن است این کار کند

نحوه نصب PiVPN در Debian

نحوه نصب PiVPN در Debian

مقدمه یک راه آسان برای راه اندازی سرور VPN در دبیان با PiVPN است. PiVPN نصب و بسته بندی OpenVPN است. این دستورات ساده را برای شما ایجاد می کند

Nginx ، Wordpress را نصب کنید و رمزگذاری را در چند دقیقه با EasyEngine روی Debian 8 یا Ubuntu 16.04 نصب کنید

Nginx ، Wordpress را نصب کنید و رمزگذاری را در چند دقیقه با EasyEngine روی Debian 8 یا Ubuntu 16.04 نصب کنید

EasyEngine (ee) ابزاری پایتون است که به شما امکان می دهد سایت های وردپرس خود را به راحتی و به صورت خودکار مدیریت کنید. با استفاده از EasyEngine ، شما مجبور به dea نیستید

نحوه ساخت Brotli از Source on Debian 9

نحوه ساخت Brotli از Source on Debian 9

با استفاده از یک سیستم متفاوت؟ Brotli یک روش فشرده سازی جدید با نسبت فشرده سازی بهتر از Gzip است. کد منبع آن در Github به صورت عمومی میزبانی می شود. تی

نحوه نصب BlogoText CMS بر روی Debian 9 LAMP VPS

نحوه نصب BlogoText CMS بر روی Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ BlogoText CMS یک سیستم مدیریت محتوا (CMS) ساده و سبک ، آزاد و متن باز است و موتور وبلاگ مینیمالیستی

نحوه نصب InvoicePlane در Debian 9

نحوه نصب InvoicePlane در Debian 9

با استفاده از یک سیستم متفاوت؟ InvoicePlane یک برنامه صورتحساب رایگان و متن باز است. کد منبع آن را می توانید در این مخزن Github پیدا کنید. این راهنما

نحوه نصب Backdrop CMS 1.8.0 در Debian 9 LAMP VPS

نحوه نصب Backdrop CMS 1.8.0 در Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ Backdrop CMS 1.8.0 یک سیستم مدیریت محتوا منبع باز و آزاد و متناسب با تلفن همراه ، رایگان و آزاد است که به ما اجازه می دهد

Plesk را روی Debian 7 (Wheezy) نصب کنید

Plesk را روی Debian 7 (Wheezy) نصب کنید

با استفاده از یک سیستم متفاوت؟ Plesk یک صفحه کنترل میزبان وب اختصاصی است که به کاربران امکان می دهد وب سایت ها ، بانک اطلاعاتی شخصی و / یا مشتری خود را مدیریت کنند.

نحوه نصب BookStack در Debian 9

نحوه نصب BookStack در Debian 9

با استفاده از یک سیستم متفاوت؟ BookStack یک سکوی ساده ، خود میزبان و با کاربرد آسان برای سازماندهی و ذخیره اطلاعات است. BookStack کاملاً رایگان و باز است

نحوه نصب Pagekit 1.0 CMS بر روی Debian 9 LAMP VPS

نحوه نصب Pagekit 1.0 CMS بر روی Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ Pagekit 1.0 CMS یک سیستم زیبا و مدولار زیبا ، مدولار ، قابل تمدید و سبک ، آزاد و منبع باز منبع آزاد (CMS) با

نصب اسفنج و Minecraft Forge در Debian 9

نصب اسفنج و Minecraft Forge در Debian 9

با استفاده از یک سیستم متفاوت؟ اسفنج یک پروژه منبع باز است که قابلیت های سرورهای Minecraft را از طریق افزونه ها گسترش می دهد. همراه با برنامه تعدیل شده

ابزارهای نظارت بهتر برای اوبونتو و CentOS

ابزارهای نظارت بهتر برای اوبونتو و CentOS

معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند

نحوه نصب CMS اکتبر 1.0 بر روی یک Debian 9 LAMP VPS

نحوه نصب CMS اکتبر 1.0 بر روی یک Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ اکتبر 1.0 CMS یک سیستم مدیریت محتوا (CMS) ساده و قابل اعتماد ، رایگان و منبع باز است که در چارچوب Laravel ساخته شده است

وضعیت سرور Debian را با Munin نظارت کنید

وضعیت سرور Debian را با Munin نظارت کنید

Munin ابزاری برای نظارت بر فرآیندها و منابع موجود در دستگاه شما است و اطلاعات را در نمودارها از طریق رابط وب ارائه می دهد. از پیگیری استفاده کنید

نحوه فعال سازی TLS 1.3 در Apache در Debian 10

نحوه فعال سازی TLS 1.3 در Apache در Debian 10

با استفاده از یک سیستم متفاوت؟ TLS 1.3 نسخه ای از پروتکل Transport Layer Security (TLS) است که در سال 2018 به عنوان یک استاندارد پیشنهادی در RFC 8446 منتشر شد

Nginx را با ماژول PageSpeed ​​در Debian 8 کامپایل و نصب کنید

Nginx را با ماژول PageSpeed ​​در Debian 8 کامپایل و نصب کنید

در این مقاله خواهیم دید که چگونه خط اصلی Nginx را از منابع رسمی Nginx با ماژول PageSpeed ​​کامپایل و نصب کنید ، که به شما امکان می دهد

نحوه نصب انجمن Flarum در Debian 10

نحوه نصب انجمن Flarum در Debian 10

با استفاده از یک سیستم متفاوت؟ Flarum یک نرم افزار انجمن نسل بعدی آزاد و منبع باز است که بحث آنلاین را سرگرم کننده می کند. ساده ، سریع و رایگان است

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

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

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

نحوه نصب 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

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

نحوه نصب 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

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

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

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

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

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

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