热点推荐:ASP.Net | ADO.Net | VB.Net | Web服务器 | Access | MSSQL | MySQL | Oracle | .Net控件 | Win 9x | Win 2000 | Win 2003 | DOS | Unix | 注册表 | 应用其它 | 安装调试 | 基本操作 | 使用技巧 | 系统优化 |故障处理 | 个性风格 | 病毒安全 | 专杀工具
您现在的位置: 中华IT技术网 >> FAQ >> Linux >> Apache >> 正文
全文
如何限制虚拟主机同时访问人数和流量?
作者:Nana    文章来源:Web    更新时间:2007-6-9

经常看到某某主页提供商对虚拟主机的限制为同时在线20人或者流量3G,使人不得不想想它们是怎么做的,请知道的高手指点一二。
我看过限制人数的帖子,但那个限制是针对访问整个APACHE服务器的总进程,可以理解成一个人一个进程吧?那么对某个虚拟主机空间该怎么限制呢?
---------------------------------------------------------------

大致步骤:

在httpd.conf设置日志:accessctrl.log

LogFormat "%{%Y%m%d%H%M%S}t,%b,\"%{Referer}i\",\"%h\"" acce
CustomLog logs/accessctrl.log acce
====================================================
将日志读入mysql数据库.表名为apachectrl.
设四个字段:time datetime,size int,url varchar(200),conn varchar(30);
----------
delete from apachectrl;
LOAD DATA INFILE '/var/log/httpd/accessctrl.log' INTO TABLE table_name
FIELDS TERMINATED BY ',';
----------
统计一个月内size的和即为当月流量.某一段时间内(比如20分钟)的不同的conn的个数即为链接数.
将此统计结果写入一权限数据表.
当apache收到一请求时,重定向到一个页面.该页面读取权限数据表中的值.再根据其值作相应的跳转.即可达到你的目的.
=======================
至于如何灵活利用,全看管理员对系统的熟悉程度了.

---------------------------------------------------------------

(通过分析apache日志解决问题。——global_boy)

相关文章
最新更新
编辑推荐
热门图片
频道大全
文章阅读排行
周排行
月排行