Pentru cei care doresc sa limiteze banda la apache pentru clienti, ca masura de precautie pentru download-ul de diverse fisiere ori pentru evitarea epuizarii vitezei de upstream putem folosi modulul mod_bw.
Modulul specificat poate limita viteza pe apache dupa extensie, per virtual host, per client si / sau per total.
Pentru a citi mai multe despre acest modul aveti urmatoarele url-uri de referinta:
* http://bwmod.sourceforge.net/
* http://bwmod.sourceforge.net/files/mod_bw-0.7.txt “The .. fine Manual
Default, dupa compilare modulul nu functioneaza sub httpd 2.x ( apache2 )
Afiseaza o eroare ca in exemplul de mai jos:
httpd: Syntax error on line 59 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_bw.so into server: /usr/local/apache2/modules/mod_bw.so: Undefined symbol "apr_atomic_cas"
Pentru a evita eroarea de mai sus, editam sursa mod_bw.c la linia 61
[root@LinuxPedia ~] # pico +61 mod_bw.c
Aici stergem liniile urmatoare:
/* Compatibility for ARP < 1 */ #if (APR_MAJOR_VERSION < 1) #define apr_atomic_inc32 apr_atomic_inc #define apr_atomic_dec32 apr_atomic_dec #define apr_atomic_add32 apr_atomic_add #define apr_atomic_cas32 apr_atomic_cas #define apr_atomic_set32 apr_atomic_set #endif
Compilam si instalam modulul
r[root@LinxuPedia ~/work/src/mod_bw] # /usr/local/apache2/bin/apxs -cia mod_bw.c
Editam fisierul de configurare de la virtualhost-ul pe care dorim sa-l limitam si adaugam liniile de configurare a limitei pentru modulul mod_bw, apoi se va executa restart la serviciul apache
[root@LinuxPedia ~/work/src/mod_bw] # /etc/rc.d/httpd restart
### -------------------------- ### ### Exemple configurare ### ### -------------------------- ### ## Se adauga in sectiunea virtual host-ului ## ## Pentru limitarea fiecarui vizitator la 128KB/s pe un virtual host BandwidthModule On ForceBandWidthModule On Bandwidth all 128000 MinBandwidth all -1 ## Pentru limitarea extensiilor avi, mpg la 64KB/s BandwidthModule On ForceBandWidthModule On LargeFileLimit .avi 1 64000 LargeFileLimit .mpg 1 64000