این آموزش به شما نشان می دهد که چگونه در وب سرورapache2 هاست لینوکس با توسط به mod_cband این کار رو انجام بدید. خوب اول میریم سراغ نصب برنامه. نکته : دقت داشته باشید که برای کامپایل کردن این برنامه شما احتیج به apxs دارید. که میتوانید به این گونه آن را نصب کنین.
yum install httpd-devel
در مرحله بعدی دانلود mod_cband و شروع کامپایل. که به صورت زیر انجام میشه:
cd /tmp wget http://cband.linux.pl/download/mod-cband-0.9.7.5.tgz tar xzvf mod-cband-0.9.7.5.tgz cd mod-cband-0.9.7.5 ./configure make make install
بعد از اتمام کار. باید رول مورد نظر رو در آپاچی کانفیگ اضافخ کنید.
vi /etc/httpd/conf/httpd.conf
این خط را اضافه کنید …
LoadModule cband_module /usr/lib/httpd/modules/mod_cband.so و در آخر هم سرویس آپاچی رو ری استارت میکنیم . و نصب برنامه به پایان رسید.
/etc/init.d/httpd restart
حالا باید با کمی درایت و درک خوب از سرویس آپاچی و آشنای با اعمال میشه کار کانفیگ رو شرو کنیم . در این کانفیگی که در زیر مشاهده میکنید، سعی شده که سایتی با آدرس www.example.com که روی آی پی ۱٫۲٫۳٫۴ قرار داره و دایرکتوری این ساید در آدرس /var/www قرار داره، یک لیمیت قرار بدیم.
حالا اگر که بدانید که قطعا هم میدانید برای وجود داشتن یه همچین سایتی با مشخصات بالا باید مشخصات زیر در فایل کانفیگ آپاچی قرار داشته باشه .
<VirtualHost 1.2.3.4> ServerName www.example.com ServerAdmin webmaster@example.com DocumentRoot /var/www </VirtualHost>
دقت داشته باشید که سرور نیم حتما باید ولید باشه. خوب حالا میریم سراغ ادامه کانفیگ برنامه .
vi /etc/httpd/conf/httpd.conf
حالا این دستورات رو اضافه کنید
CBandScoreFlushPeriod 1 CBandRandomPulse On
حالا سعی داریم که یکی از فولدر های درون هاست scoreboard رو لیمیت بدیم. به این صورت خط ها را در کانفیگ آپاچ تغییر میدیم. ( در مثال های زیر اکانت اجازه ۱۰۰ مگ در ماه رو داره )
مثال شماره ۱ : فرض میکنیم که میخواهیم سایت مورد نظر، سرعت دانلود به ۱۲۸kbps تغییر کند و ۵ requests در هر ثانیه را ساپورت کنه و فقط ۱۵ open connections را اجازه بدهد :
<VirtualHost 1.2.3.4> ServerName www.example.com ServerAdmin webmaster@example.com DocumentRoot /var/www CBandLimit 100M CBandExceededSpeed 128 5 15 CBandScoreboard /var/www/scoreboard CBandPeriod 4W </VirtualHost>
CBandPeriod به شما نشان میده که بعد از چه مدت زمانی موارد لیمیت یه کاربر به حالت اولیه برسه.
مثال شماره ۲ : این مثال هم شبیه مثال قبل می ماند ولی با این تفاوت که ما لیمیتی در سرعت قرار نمیدیم. اگر که تعداد آنلاین ها یا افراد درون سایت هاست لینوکس شما زیاد بشه ارور ۵۰۳ نشون داده می شود .
<VirtualHost 1.2.3.4> ServerName www.example.com ServerAdmin webmaster@example.com DocumentRoot /var/www CBandLimit 100M CBandScoreboard /var/www/scoreboard CBandPeriod 4W </VirtualHost>
اگر هم خواستید که اگر کانکتها بالا رفت طرف ریدایرکت بشه خط زیر هم اضافه کنیند .
CBandExceededURL http://www.redirect.com/traffic_exceeded.html
توجه: CBandExceededSpeed و CBandExceededURL با هم تداخل دارند و اجازه استفاده آنها در یک مرحله یک سایت داده نمیشود .
حالا آپاچی رو ریستارت کنیدو به ادامه بحث توجه کنیند.
/etc/init.d/httpd restart
اگر که خواستید می تونید حتی صفحه گرافیکی مصرف یوزر را هم ببینید. برای این کار کافیه که خط های زیر را هم به قسمتی که کانفیگ کردیم اضافه کنید .
<Location /cband-status> SetHandler cband-status </Location> <Location /cband-status-me> SetHandler cband-status-me </Location>
حالا از http://www.example.com/cband-status و http://www.example.com/cband-status-me شما میتونید که تماشا کنید.