اطلاعات تماس

تهران ، آیت الله کاشانی ، پلاک 160 واحد 27

92001474 - 021

info@negarnovin.com

ناحیه کاربری

نصب و راه‌ اندازی HAProxy در Ubuntu 16.04

نصب و راه‌ اندازی HAProxy در Ubuntu 16.04

با شما هستیم با آموزش نصب و راه‌ اندازی HAProxy در Ubuntu 16.04 در خدمت شما خواهیم بود تا انتهای این مطلب ما را همراهی کنید. و یا با  محیط آن آشنا گردید به مطالعه این مطللب بپردازید.

بکاپ منظم روزانه هفتگی ماهانه در یک سرور مجزا از مزیت نگارنوین نسبت به سایرین می باشد.

شرکت نگارنوین با همت بهترین کارشناس های قوی به شما کاربران و مشتریهای عزیز خدمت رسانی میکند تا هرچه آسان تر و بهتر به درخواست های خود برسید.

کاموا تقوی

درباره HAProxy

HAProxy یا همان High Availability Proxy ، یک نرم‌افزار Open Source یا منبع باز جهت متعادل کردن بار یا همان Loan Balancer است که توانایی تعادل برای هر نوع سرویس TCP را داراست؛ به‌خصوص پروتوکل HTTP با پشتیبانی از لایه ۷ شبکه.

مقدمه

برای این آموزش شما به ۳ سرور مجازی احتیاج خواهید داشت.

Server 1 – Load Balancer
Hostname: haproxy
OS: Ubuntu Public IP: 1.1.1.1 Private IP: 10.0.0.100

Server 2 – Node 1
Hostname: lamp1
OS: LAMP on Ubuntu Private IP: 10.0.0.1

Server 2 – Node 2
Hostname: lamp2
OS: LAMP on Ubuntu Private IP: 10.0.0.2

نصب و راه اندازی HAProxy در Ubuntu 16.04

جهت نصب به‌راحتی می‌توان از دستور (apt-get) استفاده کرد:

apt-get install haproxy

سپس نیاز است تا اجرای اتوماتیک نرم‌افزار را پس از بوت شدن سیستم فعال کرد:

nano /etc/default/haproxy

در این مرحله (ENABLED) را برابر ۱ قرار می‌دهیم:

ENABLED=1

جهت بررسی صحت عملکرد دستور (Init) را برای سرویس HAProxy اجرا می‌کنیم:

root@haproxy:~# service haproxy

Usage: /etc/init.d/haproxy {start|stop|reload|restart|status}

تنظیمات HAProxy

فایل تنظیمات اولیه را حذف می‌کنیم و یک فایل خالی برای تنظیمات می‌سازیم:

mv /etc/haproxy/haproxy.cfg{,.original}

nano /etc/haproxy/haproxy.cfg

جهت تکمیل فایل تنظیمات، آن‌را به‌صورت بلاک به بلاک تکمیل خواهیم کرد:

global

log 127.0.0.1 local0 notice

maxconn 2000

user haproxy

group haproxy

خط مربوط به (log) جهت مشخص کردن لاگ سرور برای ارسال اطلاعات است.

در خط مربوط به maxconn ، تعداد کانکشن‌های همزمان را مشخص کنید که به‌صورت پیش فرض عدد ۲۰۰۰ است. این عدد بسته به توان سرور شما متغییر است.

خطوط (user , group) مشخص‌کننده‌ی مجوز اجرایی HAProxy تحت این نام و گروه است، این متغیر را تغییر ندهید.

defaults

log     global

mode    http

option  httplog

option  dontlognull

retries 3

option redispatch

timeout connect  ۵۰۰۰

timeout client  ۱۰۰۰۰

timeout server  ۱۰۰۰۰

در این بخش تنظیمات پیش فرض را اعمال می‌کنیم.

گزینه‌ی connect تعیین‌کننده‌ی زمان اتمام اعتبار ارتباط است؛ همچنین زمان‌های مربوط به (client , server) نیز هر کدام تعیین می‌کنند که در چه زمانی acknowledge اطلاعات ارسال شده منقضی شوند. HAProxy پیشنهاد می‌کند که این ۲ مقدار با هم برابر باشند.

(Retries) مشخص‌کننده‌ی تعداد تلاش‌ها برای برقراری ارتباط پس از قطع ارتباط به صورت اتفاقی است.

(option redispatch) تعیین‌کننده‌ی توضیع ارتباط در صورت از مدار خارج شدن یک سرور است.

listen appname 0.0.0.0:80

mode http

stats enable

stats uri /haproxy?stats

stats realm Strictly\ Private

stats auth A_Username:YourPassword

stats auth Another_User:passwd

balance roundrobin

option httpclose

option forwardfor

server lamp1 10.0.0.1:80 check

server lamp2 10.0.0.2:80 check

این بخش تنظیمات هر دو سمت ارتباط را مشخص می‌کند. HAProxy بر روی پورت ۸۰ تنظیم شده است و (appname) نمایان‌گر نام برنامه است. گزینه‌های (state) برای احراز هویت بر روی بستر HTTP است.

برای مشاهده وضعیت سلامت خود HAProxy، لینک مشخص شده (http://1.1.1.1/haproxy?stats;) را ببنید.

گزینه‌ی balance مشخص‌کننده‌ی الگوریتم بالانسینگ است. بقیه‌ی گزینه‌ها عبارتند از:

  • Round Robin (roundrobin)
  • Static Round Robin (static-rr)
  • Least Connections (leastconn)
  • Source (source)
  • URI (uri) and URL parameter (url_param)

اطلاعات تکمیلی در رابطه با الگوریتم‌ها در مستندات رسمی وجود دارند.

مشخصات سرور نمایان‌کننده‌ی سرور‌های پاسخ‌گو به ارتباط‌ها هستند.

server

[:port] [param*]نام مشخص شده در این‌جا در لاگ‌ها ظاهر می‌شود و پارامتر check بیان‌گر بررسی سلامت سرور توسط HAProxy جهت ارسال اطلاعات است. درصورت فقدان کلمه check سلامت سرور همیشه تاییدشده است.بعد از تنظیمات اولیه، سرویس را ریست کنید.service haproxy start

بررسی HAProxy

برای تست یک فایل PHP با اطلاعات زیر را در تمام سرورها ایجاد می‌کنیم.

/var/www/file.php

هم‌اکنون فایل را با (curl) چندبار درخواست می‌کنیم.

> curl http://1.1.1.1/file.php

Server IP: 10.0.0.1

Client IP: 10.0.0.100

X-Forwarded-for: 117.213.X.X

> curl http://1.1.1.1/file.php

Server IP: 10.0.0.2

Client IP: 10.0.0.100

X-Forwarded-for: 117.213.X.X

> curl http://1.1.1.1/file.php

Server IP: 10.0.0.1

Client IP: 10.0.0.100

X-Forwarded-for: 117.213.X.X

به روش (Round Robin) در ارائه اطلاعات توجه کنید. ببینید چگونه ۲ سرور موجود به‌ترتیب به درخواست ما پاسخ می‌دهند.

در ادامه یک سرور را از مدار خارج می‌کنیم تا رفتار HAProxy را بررسی کنیم.

lamp1@haproxy:~#service apache2 stop

مجدداً با (Curl) چند درخواست ارسال کنید تا عمکرد HAProxy برای شما محرز شود.

 

سرور مجازی فنلاند

تبریک می گوییم مقاله آموزش نصب و راه‌ اندازی HAProxy در Ubuntu 16.04 پایان رسید با مقالات بعدی ما را همراهی کنید.

شعار همیشگی: حفظ مشتریان فعلی ، دعوت از مشتریان قبلی ، جذب مشتریان آتی.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *