Apacheは同時IPの数を制限し、フロー制御

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モジュールの前面:
bw_limit
mod_bw.soモジュールを使用した後:
bw_limit2

安装过程中可能出现的问题:

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のインストール

 https://blog.csdn.net/lgq421033770/article/details/44673237

おすすめ

転載: www.cnblogs.com/lixiuran/p/11758142.html