به وب سایت
www.somedocuments.com
خوش آمدید
این سایت به منظور اطلاع رسانی در حوزه های مختلف فناوری اطلاعات شکل گرفته است.
لطفا با ارسال نظرات ، پیشنهادات و انتقادات خود ما را در این مهم یاری نمایید.

 

ورود کاربر

آمار مراجعین

شما اینجا هستید

صفحه اصلی

راه اندازی Loadbalancer به کمک ماجول mod_proxy در Apache

نويسنده مقاله: 
سیدقاسم کابلی
دفعات بازديد: 1،560
فرض کنید که می خواهید سرویس جدیدی را راه اندازی نمایید. برای این منظور سه سرور App1، App2 و App3 آماده شده است و یک Apache Http Server نیز برای تقسیم درخواستها را میان سه سرور اشاره شده در نظر گرفته شده است.
این موضوع در شکل زیرنشان داده شده است.
برای این منظور مراحل زیر را دنبال نمایید:
1. با اجرای دستور زیر فایل جدیدی با عنوان mod-proxy.conf ایجاد نمایید:
$vi /etc/httpd/conf.d/mod-proxy.conf

2. با توجه به اینکه لازم است کلیه درخواست های ارسالی پورت پیش فرض میان سرورها تقسیم شود بنابراین لازم است همه تنظیمات و دستورات در میان Virtualhost گنجانده شود:

<VirtualHost *:80>
:
:
</VirtualHost>

3. باید از اینکه Apache Http server به عنوان Proxy Server عمل نماید جلوگیری شود. برای این منظور دستور زیر را وارد نمایید:

ProxyRequests off

لازم به ذکر است مقدار پیش فرض نیز off میباشد.
4. در این مرحله لازم است یک Balancer تعریف شود. در Balancer مشخصات اعضا یا سرورهای پشت صحنه تعریف میشود و نیز مشخص شود که درخواست‌ها بر اساس چه معیاری میان آنها تقسیم شود:

<Proxy balancer://mybalancer>
    BalancerMember http://app1
    BalancerMember http://app2
    BalancerMember http://app3
    
    ProxySet lbmethod=byrequests
</Proxy>

همانطوریکه که نشان داده شده است با استفاده از BalancerMember سرورهای پشت صحنه را معرفی شده اند. در نهایت به وسیله ProxySet مشخص میگردد که درخواستها بصورت Round Robin میان Application Serverها تقسیم گردد.
6. این مرحله کمک می کند تا ابزار گرافیکی مدیریت و مانیتورینگ Balancer را بر روی Apache فعال نمایید. بنابراین در صورت عدم نیاز به آن می توانید از این مرحله صرف نظر نمایید:

<Location /balancer-manager>
    SetHandler balancer-manager
    Order deny,allow
    Allow from all
</Location>
ProxyPass /balancer-manager !

در بخش اول مشخص می شود که balancer-manager از چه مسیری قابل دسترس باشد. در این بخش می توانید تعیین نمایید که چه دستگاه هایی مجاز هستند از این امکان استفاده نمایند. در بخش آخر به کمک ProxyPass مشخص شده است که درخواست های balancer-manager برای mybalancer ارسال نشود.
5. در این مرحله لازم است مشخص شود که چه درخواست‌های برای mybalancer ارسال شود. برای این منظور دستور زیر را به انتهای تعریف mybalancer اضافه نمایید:

ProxyPass / balancer://mybalancer/

دستور فوق مشخص می نماید که کلیه درخواست‌های ارسالی برای مسیر ریشه برای mybalancer ارسال شود.
7. فایل را ذخیره نمایید.
8. لازم است Apache را مجدد راه اندازی نمایید تا تنظیم‌های جدید را بارگذاری نماید

در زیر کل متن مربوط به فایل mod-proxy.conf نشان داده شده است

<Proxy balancer://mybalancer>
    BalancerMember http://app1
    BalancerMember http://app2
    BalancerMember http://app3
    
    ProxySet lbmethod=byrequests
</Proxy>
 
<Location /balancer-manager>
    SetHandler balancer-manager
    Order deny,allow
    Allow from all
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mybalancer/
 

توجه: به کمک آدرس اینترنتی زیر می توانبد به صفحه مدیریت دسترسی داشته باشید:

http://webserver/balancer-manager