mod_limitipconnモジュールは、同時接続のIPの数に制限を使用し
てインストールを:
wgetのhttp://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 タールjxvf mod_limitipconn-0.24.tar.bz2 CD mod_limitipconn-0.24 を/ usr / local / apache2の/ binに/ apxsの-c -i mod_limitipconn.c
httpd.confを編集
1 2 3 4 5 6 7 8 9 10 11 12 |
オンExtendedStatusが のLoadModuleのlimitipconn_moduleモジュールは/インストール後、パス#1 mod_limitipconn.soパスを変更する、コード格納されたアノテーション後に除去 <のIfModule mod_limitipconn.c> ルートディレクトリに対応する<LOCATION /># MaxConnPerIP 5位同時の最大数である。5 NoIPLimitイメージ絵の#は制限しません/ * </ LOCATION> <LOCATION /テストを>#ルートディレクトリの下にtestディレクトリを制限行う MaxConnPerIP 2位、同時2の最大数です 。</ LOCATION> </のIfModule> |
あなたは、仮想ホストをIP同時接続数を制限したい場合は、余分な/のhttpd-vhost.confコピーのIfModule mod_limitipconn.cその上のVirtualHostするには、このセクションを変更することができます。
テスト:
テストは簡単ですが、少し曲は、単にブラウザは、ページを更新絶えずせ、F5キーを押し、ページにアクセスし、そしてへの最大接続数は、ポップアップエラー503をクリックしてください
帯域幅制限するmod_bandwidthモジュールを使用して、
同時IPの数を制御することができmod_bandwidthを、あなたも、あなたも、ディレクトリの流れを制御することができ、ダウンロードのトラフィックを制御することができます。
インストール:
wgetのhttp://bwmod.sourceforge.net/files/mod_bw-0.7.tgz タールzxvf mod_bw-0.7.tgz CD mod_bw は/ usr / local / apache2の/ binに/ apxsの-c -i mod_bw.c
httpd.conf設定ファイルを編集します。
1 2 3 4 5 6 7 8 9 10 11 12 |
Bw_moduleモジュールのLoadModule / mod_bw.so の<VirtualHost *:80> ServerNameのvhost1.cszhi.com のDocumentRootは/ var / WWW / vhost1 BandwidthModuleオン ForceBandWidthModuleで 帯域幅のすべての1024000 MinBandwidthすべての50000#50キロバイトまでの各クライアント速度 LargeFileLimit * 500 50000 6すべてのMAXCONNECTION </ VirtualHost>の |
他のパラメータの例は、詳細には、ソースコードバッグmod_bw.txtを参照して例示します。
1 2 3 4 5 6 7 8 9 10 11 |
帯域幅のローカルホスト0#ローカルホストレートの制限 100キロバイトの帯域幅192.168.1.5 102400#192.168.1.5速度制限 Mozillaの使用: "Mozillaの^(*)U" #10240の10キロバイト速度帯域幅 の帯域幅を"Uを:wgetの" #102400 wgetので制限速度10キロバイトダウンロードした場合 MinBandwidthすべて-1位確保、最大10キロバイトまでの各クライアントの速度その LargeFileLimit 100 10240 #jpg 100キロバイト以上の.jpgファイル、制限速度の10キロバイトの #510以下の非常に良い、設定されていない場合は、Apacheの独自の文句を言う、ルート上で非常に醜いのほぼ404ページに報告されます のErrorDocument 510 /exceed_speed.html BandWidthError 510 全10の接続のMAXCONNECTION全10#のIP最大数 の接続5#5のMAXCONNECTION 192.168.1.5 192.168.1.5の最大数を |
試験:
使用mod_bw.soモジュールの前面:
mod_bw.soモジュールを使用した後:
安装过程中可能出现的问题:
1、添加完mod_bw.so模块,重启apache时出现错误:
[root@vps httpd]# /etc/init.d/httpd restart Stopping httpd: [FAILED] Starting httpd: httpd: Syntax error on line 203 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_bw.so into server: /etc/httpd/modules/mod_bw.so: undefined symbol: apr_atomic_cas [FAILED]
修改一下mod_bw.c 就可以:
1 2 3 4 5 6 7 8 9 |
APR_MAJOR_VERSIONの#ifdef //添加这行 の#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の #endifの//添加这行 |
再コンパイル:
/ usr / local / apache2の/ binに/ apxsの-c -i mod_bw.c
サーバーがインストールAPXSされていない場合、図2に示すように、それは、以下の方法を用いて実装することができる。
APXS Apache HTTPサーバは、それが可能となる、ソースまたはオブジェクトコードまたは動的共有オブジェクト・ファイルの複数をコンパイルするため、取付具のためのコンパイルと拡張モジュールでありますmod_soがLoadModuleのが提供する命令は、実行時にApacheサーバにロードされたと。
インストールする必要がない場合は、そこにある場合のhttpd-develパッケージを見るためにコマンドを入力します。
回転数-qa | grepのhttpdの はyum -yのhttpd-develのインストール