Apache實現限速 針對每個客戶端限速

2021-07-05 04:02:34 字數 1251 閱讀 8550

使用環境:

mod_bw 是乙個apche的第三方外掛程式,可以實現即時頻寬控制,連線數控制,對於需要對站點限速的朋友來講是個不錯的選擇。

開始安裝

#tar zxvf mod_bw-0.7.tgz 

#cd mod_bw

#vi mod_bw.c  編輯mod_bw.c新增兩行配置 

#ifdef apr_major_version   //新增行

#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/apache/bin/apxs -c -i -a mod_bw.c 

//注:有些沒安裝httpd-devel(apache開發使用的模組)會卡在這裡,報錯沒有apxs命令,很好解決,直接安裝在執行/usr/local/apache/bin/apxs -c -i -a mod_bw.c ,如沒有報錯無需執行下面兩個命令。

這樣限速外掛程式已經完成,來開啟httpd.conf,可在虛擬目錄下也可以在全域性配置下寫入,也可以在全域性配置下寫入,我沒有配置虛擬目錄就直接在全域性寫入即可。

bandwidthmodule on  

forcebandwidthmodule on

maxconnection all 100 #限制為100個連線數

借了別人的配置例子: 

bandwidth all 102400  #限制為100k  

maxconnection all 100 #限制為100個連線數  

使用tcp select實現客戶端與客戶端的通訊

使用多路復用實現客戶端與客戶端進行通訊 原理 客戶端只要一連上伺服器,立馬給伺服器傳送使用者名稱,然後在服務端將newsocketfd 存放在同乙個結構體中,客戶端先給伺服器傳送資料,然後通過伺服器 給客戶端。伺服器先會查詢對應名字的 newsocketfd 然後向該 newsocketfd 中寫入...

實現UDP客戶端

實現udp客戶端 1 基於連線和無連線 2 對系統資源的要求 tcp多,udp少 3 udp程式結構較簡單 4 流模式與資料報模式 5 tcp保證資料準確性,udp可能丟包,tcp保證資料順序,udp不保證 import socket if name main 1.建立udp客戶端,建立套接字 ud...

Python MQTT客戶端實現

使用python package index pypi pip install paho mqtt使用virtualenv virtualenv paho mqtt source paho mqtt bin activate pip install paho mqtt或者編譯源 git clone ...