اعمال محدودیت برای تعداد اتصالات همزمان و یا حداکثر میزان دانلود در لحظه یکی از مواردی است که اکثر افرادی که سایت دانلود دارند در سرورهای خود اعمال می کنند.
برای این محدودیت در apache می توانیم از مود bw استفاده کنیم.
این آموزش مربوط به سرور با کنترل پنل دایرکت ادمین می باشد.
برای نصب mod_bw دستورات زیر را در سرور وارد میکنیم:
cd /root wget http://files.directadmin.com/services/custombuild/mod_bw-0.92.tgz mkdir mod_bw cd mod_bw tar xvzf ../mod_bw-0.92.tgz /usr/sbin/apxs -i -a -c mod_bw.c
ممکن است بعد از وارد کردن آخرین خط دستورات فوق با خطاهای زیر مواجه شوید:
mod_bw.c: In function ‘get_bw_rate’:
mod_bw.c:567: error: ‘conn_rec’ has no member named ‘remote_addr’
mod_bw.c: In function ‘get_maxconn’:
mod_bw.c:658: error: ‘conn_rec’ has no member named ‘remote_addr’
mod_bw.c: In function ‘get_sid’:
mod_bw.c:709: error: ‘conn_rec’ has no member named ‘remote_addr’
معمولا این خطا زمانی رخ می دهد که شما قصد نصب این ماژول را روی apache 2.4 داشته باشید ، در اینصورت فایل mod_bw.c را ویرایش کنید و remote_addr -> client_addr تبدیل کنید ، همچنین remote_ip -> client_ip تبدیل کنید.
بعد ازین مورد مقدار زیر بصورت خودکار در فایل httpd.conf وارد میشود:
LoadModule bw_module /usr/lib/apache/mod_bw.so
در ادامه با وارد کردن دستور زیر:
nano /etc/httpd/conf/extra/httpd-includes.conf
فایل httpd-includes را ویرایش میکنیم و مقدار زیر را در ان وارد میکنیم و این فایل را ذخیره میکنیم:
BandWidthModule On ForceBandWidthModule On BandWidth all 102400000 MinBandwidth all -1 MaxConnection all 3 #<Location /modbw> # SetHandler modbw-handler #</Location>
در واقع تنظیم می شود هر ای پی نهایتا در هر ثانیه می توانید 3 اتصال داشته باشد و تا 100 مگ می تواند دانلود کند
سپس apache را ریستارت میکنیم.