ホームページ >運用・保守 >Linuxの運用と保守 >Linux Apache で同時接続とダウンロード速度を制限する方法

Linux Apache で同時接続とダウンロード速度を制限する方法

王林
王林転載
2023-05-12 10:49:201636ブラウズ

mod_limitipconn、これは同じソース IP に基づいて同時接続を制御する Apache の非公式モジュールです。bw_mod はソース IP に基づいて帯域幅を制限できます。どちらも Apache のサードパーティ モジュールです。

1. ダウンロード:

wget

wget

2. インストール

#tar -zxvf mod_limitipconn-0.22.tar.gz
#cd mod_limitipconn-0.22
#vi makefile
Modify: apxs = “/usr/local/apache2/bin/apxs” # これは独自のものですapache apxs パスで、モジュール

または

#/usr/local/apache2/bin/apxs -i -c -a mod_limitipconn.c をロードしてモジュール
#make# をロードします
make install

#tar -xvf mod_bw-0.7.tgz
#cd mod_bw
#/usr/local/apache2/bin/apxs -i -c -a /home/kenami /mod_bw /mod_bw.c

vi を使用して Apache 構成ファイル httpd.conf

を開き、次の 2 行を見つけます:

loadmodule limitipconn_module modules/mod_limitipconn.so


loadmodule bw_module modules/mod_bw.so

3.構成


< location /home/bo@jb51.net/attachments/month _*> #制御対象のパス
maxconnperip 3 #制限するスレッド数
noiplimitindex.htm #このファイルには制限なし
< ;/location>

仮想ホスト構成ファイルの下に次を追加します:

bandwidthmodule on
forcebandwidthmodule on
bandwidth all 10000 #speed limit 10k
minbandwidth all -1


設定パラメータの説明は次のとおりです:
a.bandwidthmodule on|off

//帯域制限機能を有効にするかどうかmod_bwの。

b. 帯域幅 [開始] [バイト/秒]

指定されたクライアントの最大帯域幅を設定します、0 は制限なしを意味します

帯域幅 u:[ユーザーエージェント] [bytes /s]

c. minbandwidth [from] [bytes/s]

指定したクライアント帯域幅の最小値を設定します。0 の場合は、最大帯域幅を意味します。各クライアントは 256 バイト/秒です。-1 は、bandwith

d の最大値を表します。largefilelimit [タイプ] [最小サイズ] [バイト/秒]

特定のクライアントにアクセスするための最大帯域幅を設定します特定のサイズを超えるファイル、ファイル タイプ サイズの単位はキロバイトです

#e. maxconnection [from] [max]

指定されたクライアントの最大同時接続数を設定します

f.forcebandwidthmodule [on|off]

デフォルトの bw モジュールはすべてのリクエストに適用され、フィルタリング タイプを設定できます

from に関して、つまりクライアント ソースは次のように分割できます。次の状況:

ip は単一のホストを指定します

192.168.1.22

ネットワーク セグメントを指定します

192.168.1.0/24 または

192.168.1.0/255.255.255.0

ドメイン名単一ホスト

client1.jb51.net

ドメイン名の指定範囲

.jb51.net

すべてのクライアント

すべて

上記の構成は、すべてのクライアントまたは特定の仮想ホストに対して構成できます

例 1:

bandwidthmodule on

bandwidth all 307200

bandwidth 192.168.1.2 102400

bandwidth "u:^mozilla/5(.*)" 102400

bandwidth "u:wget" 204800

forcebandwidthmodule on

largefilelimit .avi 600 204800

maxconnection all 100

maxconnect 192.168.1.2 5

上記の構成の意味:

mod_bw を有効にし、すべてのファイル タイプを制限する

すべてのクライアントの最大帯域幅は 300k、最大同時接続数は 100

192.168.1.2 の最大帯域幅は 100k、最大同時接続数は 5 です。

Firefox を使用するクライアントの最大帯域幅は 100kです。

Firefox を使用するクライアントの最大帯域幅は 100k です。 wget は 200kです。

600k を超える avi 形式ファイルの最大帯域幅は 200kbyte/s です。

例 2:

bandwidthmodule on

forcebandwidthmodule on

largefilelimit .avi 1 20000

largefilelimit .mpg 1 20000

サーバー名

このインスタンスは仮想ホストを制限します。指定されたファイル タイプ avi および mpg の最大帯域幅は 20k で、forcebandwidthmodule on が必要です。

例 3:

bandwidthmodule on

addoutputfilterbytype mod_bw text/html text/plain

帯域幅はすべて 5000

サーバー名

#

以上がLinux Apache で同時接続とダウンロード速度を制限する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。