bw_mod模块让你的Apache也能实现流量限制 用mod_cband实现apache流量控制监测

由于工作上的需求,要对Apache环境下的网站进行限速,因为网站上要添加一个下载的项目,如果没有一个下载限制的话,网站的带宽会被耗尽,但是要求还不能用第三方软件来限制,想了想只能从Apache的一些扩展功能来下手了,我想这也是Apache的一大优势吧。

  对于Apache的流量限制,我们可以使用bw_mod流量控制模块来实现,简单、方便,没有过多复杂的设置,最重要的是几乎不会影响线上正常业务的应用,下面简单介绍一下模块的使用方法。

一、模块下载

  大家可以到http://apache.ivn.cl/这个网站上下载相应版本的模块,我使用的是0.92版本的。

二、模块安装

  说明一下我这里的测试环境是Linux Red Hat5,Apache是源码包安装的2.2版本,按照下面的步骤来安装模块。

    tar zxf mod_bw-0.92.tgz   //解压模块
    /usr/local/apache2/bin/apxs -i -a -c mod_bw.c   //安装模块

  很简单的步骤就可以安装完模块了,如果顺利的话在httpd.conf配置文件中会看到增加了如下条目。

    LoadModule bw_module          modules/mod_bw.so

  但光有这一个条件是不够的,我们要在其下面继续添加如下条目。

    BandWidthModule On   //开启流量限制
    ForceBandWidthModule On   //强制限制所有连接
    BandWidth  all 0   //总带宽不限制
    LargeFileLimit .rar 100000 23000

  按照以上方法就可以添加一个流量限制规则,我这里所添加的是对所有以rar后缀结尾的软件限制,只要此软件大于100M,就限制其下载速度为23k/秒。这里要注意一下单位的写法,前面是以k为单位,100000即100M,后面是以字节为单位,23000即23k。

  完成配置之后我们重新启动Apache,然后在Apache的网页目录中放一个软件来测试一下了,可以看到下载的速度已经被限制到了23k以内了。

写在最后

  一个很小的模块就可以让Apache帮助我们实现很多功能,我想这也正是Apache的一大优势,灵活以及人性化,这里没有介绍过多关于此模块的使用方法,只是简单的一个限制流量的思路,其实还有更多种方法来实现。

  原创文章首发自阿布的博客,转载请注明,本文地址:http://www.abuve.com/401.html

 

 

用mod_cband实现apache流量控制监测

最近这两个服务器流量不正常,前几个才50多G的流量,这俩月居然涨到了500G!前几天服务器差点被管理员停掉,仔细观察了下并不是有人在ddos,查看日志可能是由于部分网站被盗链导致的,于是乎搞了个防盗链脚本放在每个网站的目录下,情况稍微有所好转。
后来想了下,这样不行,得有个长治久安的办法才是,于是乎就开始找linux上可以用的流量控制软件,刚开始想用iptable防火墙对每个IP进行包过滤,后来一想这样会导致速度太慢了,google了一下,找到了mod_cband这个好东西。

简介:mod_cband是Apache2的一个模块,其功能是限制用户和虚拟主机的带宽。
官方网站:http://codee.pl/cband.html

一、安装mod_cband
#wget http://codee.pl/download/cband/mod-cband-0.9.7.5.tgz
#tar zxvf mod-cband-0.9.7.5.tgz
#cd mod-cband-0.9.7.5
#./configure --with-apxs=/usr/local/apache/bin/apxs 如果不能执行的话,可能是你的服务器没有安装apxs2工具包
#make && make install
#ls /usr/local/apache/modules/
mod_cband.so
#more /usr/local/apache/conf/httpd.conf
LoadModule cband_module modules/mod_cband.so

二、配置mod_cband
打开Apache配置文件,在配置文件末尾加入如下内容,如果有虚拟主机,可将其加入到虚拟主机配置内容中
#vi /usr/local/apache/conf/httpd.conf
CBandLimit 100M //限制本节点总访问带宽为100Mb
CBandSpeed 1024 10 30 //限制本节点的最大连接速度为1024kb,最大并发处理10个请求和30个连接数
CBandRemoteSpeed 20kb/s 5 3 //限制一个用户最大连接本节点为20kb,最大5个并发和3个连接数
CBandPeriod 4W //多久后对本节点限制进行重设,W=week


SetHandler cband-status //开启mod_cband全局检测功能,可通过http://servername/cband-status 进行查看


SetHandler cband-status-me //开启mod_cband单一检测功能,可通过http://servername/cband-status-me进行查看

三、测试
输入http://服务器IP/cband-status 可以查看到服务器每个网站当前的流量和访问情况

附:matrix现在服务器用的脚本

CBandUserLimit 10Gi
CBandUserSpeed 100kb/s 20 20
CBandUserExceededSpeed 20kb/s 10 10
CBandUserPeriod 4W


CBandUserLimit 100Gi
CBandUserSpeed 100kb/s 30 30
CBandUserExceededSpeed 30kb/s 10 10
CBandUserPeriod 4W

低端配置

CBandLimit 10Gi
CBandSpeed 1024 50 50
CBandRemoteSpeed 50kb/s 30 30
CBandExceededSpeed 20kb/s 10 10
CBandPeriod 2W

高端配置

CBandLimit 100Gi
CBandSpeed 1024 5000 10000
CBandRemoteSpeed 100kb/s 30 30
CBandExceededSpeed 20kb/s 10 10
CBandPeriod 2W

#测试用的

CBandLimit 10M
CBandSpeed 1024 10 10
CBandRemoteSpeed 10kb/s 3 3
CBandExceededURL http://www.0379danbao.com/404.html
#CBandExceededSpeed 10kb/s 1 1
CBandPeriod 2W

 

 

 

 

 

apache服务器启用gzip的方法
2011年11月24日    linux+vps    暂无评论

 

1、vi /etc/httpd/conf/httpd.conf

2、查找LoadModule (/LoadModule),加入一句(如果已有请不用修改)
LoadModule deflate_module modules/mod_deflate.so

3、添加以下配置项目,添加在任何部位都OK

# 压缩等级 9
DeflateCompressionLevel 9
# 压缩类型 html、xml、php、css、js
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
AddOutputFilter DEFLATE js css

4、重启apache web服务器:service httpd restart

 

 

 

 

 

 

 

 

 

 

 

 

 

先去http://apache.ivn.cl/#bandwidth 或者到http://bwmod.sourceforge.net/下載符合你作業平台的Bandwidth Mod(mod_bw)版本。
下载这个安装模块

tar -zxvf mod_bw-0.8.tgz
cd mod_bw
apxs -i -a -c mod_bw.c
这样就安装了这个模块

然后进去到httpd.conf里面来添加
LoadModule bandwidth_module patch/apache/mod_bandwidth.so

DocumentRoot "/var/www"
BandWidthModule On ------加入些行

<Directory "/var/www">
Options Indexes FollowSymLinks
AllowOverride None
BandWidth all 10240000 --------这样就限制整个站点的速度为10M


BandWidthModule [On|Off]
apaceh 預設是關閉的,所以請把他打開
BandWidthModule on

ForceBandWidthModule [On|Off]
這個設定預設情形,他不會對每個要求限制,如果你把他打開,他就會對每個要求做限制
普通要求:AddOutputFilterByType MOD_BW text/html text/plain
打開設定:ForceBandWidthModule On
BandWidth [From] [bytes/s]

這個設定有2個參數,第一是from,第二是速度,第一你可以用整個ip位址,或者是network mask例如:192.168.0.0/24 or 192.168.0.0/255.255.255.0) or all。最後的all就是全部皆可,不限制
BandWidth localhost 10240
BandWidth 192.168.218.5 0

上面針對 localhost 給 10KB的速度,然後針對 192.168.218.5 不限制速度
在版本0.8還可以針對client端的瀏覽器做限制
BandWidth u:[User-Agent] [bytes/s]

你可以利用正規語法比對client端瀏覽器
BandWidth “u:^Mozilla/5(.*)” 10240
BandWidth “u:wget” 102400

還蠻不錯的功能
MinBandWidth [From] [bytes/s]

BandWidth all 102400
MinBandWidth all 50000
The example above, will have a top speed of 100kb for the 1st client. If more clients come, it will be splitted accordingly but
everyone will have at least 50kb (even if you have 50 clients)

BandWidth all 50000
MinBandWidth all -1
上面這個例子是保證client端下載速度保證 50KB/s

LargeFileLimit [Type] [Minimum Size] [bytes/s]
這個專門是用來限制大型檔案,譬如說影音檔 avi wmv 之類的 還蠻好用的喔
LargeFileLimit .avi 500 10240
上面是說如果 avi檔案超過500KB 就限制速度在 10KB

BandWidthPacket [Size]
這個不用理他,不要隨便調整他

BandWidthError [Error]
這是錯誤訊息導向,比如說超過限制,你可以寫個html檔然後導向那邊
ErrorDocument 510 /errors/maxconexceeded.html
BandWidthError 510

MaxConnection [From] [Max]
限制連線數目,這個還蠻好用的

限制所有連線速度無限,但是只能有20條連線
BandWidth all 0
MaxConnection all 20

限制無限制ip速度無限,連線數20,然後網域192.168.0.0/24的速度 10KB,連線數目5
BandWidth all 0
BandWidth 192.168.0.0/24 10240
MaxConnection all 20
MaxConnection 192.168.0.0/24 5

然後在舉一些官方的例子
Limit every user to a max of 10Kb/s on a vhost :

BandwidthModule On
ForceBandWidthModule On
Bandwidth all 10240
MinBandwidth all -1
Servername www.example.com

Limit al internal users (lan) to 1000 kb/s with a minimum of 50kb/s , and
files greater than 500kb to 50kb/s.

BandwidthModule On
ForceBandWidthModule On
Bandwidth all 1024000
MinBandwidth all 50000
LargeFileLimit * 500 50000
Servername www.example.com

限制 avi 跟 mpg 速度 20kb/s.

BandwidthModule On
ForceBandWidthModule On
LargeFileLimit .avi 1 20000
LargeFileLimit .mpg 1 20000
Servername www.example.com

Using it the “right” way, with output filter by mime type (for text) to 5kb/s:

BandwidthModule On
AddOutputFilterByType MOD_BW text/html text/plain
Bandwidth all 5000
Servername www.example.com



连接数限制
先去这下载一个吧..http://dominia.org/djao/limitipconn2.html


下载后会得到
mod_limitipconn-0.23.tar.bz2
解压出来..tar -jxvf mod_limitipconn-0.23.tar.bz2
直接make install即可.

并且在mod_status下添加了ExtendedStatus On这一行。这时我们的mod_limitipconn模块就安装完毕,下一步就是对某个目录进行并发连接数的设置了。

  mod_limitipconn可以对全局和虚拟主机进行不同的限制,其语法结构都是

<IfModule mod_limitipconn.c>
<Location /> #所限制的目录所在,此处表示主机的根目录
MaxConnPerIP 3 #所限制的每个IP并发连接数为3个
NoIPLimit image/* #对图片不做IP限制
</Location>
<Location /mp3> #所限制的目录所在,此处表示主机的/mp3目录
MaxConnPerIP 1 #所限制的每个IP并发连接数为1个
OnlyIPLimit audio/mpeg video #该限制只对视频和音频格式的文件
</Location>
</IfModule>

  当对全局进行限制时,将这段代码放在httpd.conf文件没有VirtualHost的地方,若是对某个虚拟主机进行限制,请将其放在 <VirtualHost xxx.xxx.xxx.xxx>和</VirtualHost>之间,我们可以通过更改Location以及 MaxConnPerIP方便的控制所限制的目录和并发连接数。

  最后,只要重新启动Apache服务,并发连接数的限制就可以生效。

配置实例:

apache服务器开通后,在宿舍内进行了一次DOS攻击演习
过程是:同学编写一个http请求的程序,每秒向我进行100次http请求
结果导致我的机器性能受到严重影响,CPU资源耗费巨大,并且其他用户很难登陆
明白了apache每个IP并发连接数控制的重要性

google后的结果有写很好的帖子
但和自己配置的又有些区别
只使用了一个模块Bandwidth Module
下载地址
http://www.ivn.cl/apache/bw_mod-0.6.tgz

安装
apxs -i -a -c bw_mod-0.6.c
   or
apxs2 -i -a -c bw_mod-0.6.c

配置:向http.conf中添加

BandWidthModule On
MaxConnection all 20 
//限制从所有IP的最大连接,如果最大连接超过此值就会得到503的

限制下载文件夹的传输速率
<Directory /var/www/html/download>
BandWidth 192.168.1 0
BandWidth all 500000
</Directory>
//设置从192.168.0 域下没有带宽限制,其他的所有IP都要限制在500000 bytes

经测试实现了下载带宽限制
关于单IP连接数未测试
网上介绍还需要另外一个模块
mod_limitipconn
目前看来MaxConnection 好像已经实现了此模块的 MaxConnPerIP的功能
恐怕不需要再装了吧
不知道具体有何特别的其他的功能

设置过程主要参考bw_mod-0.6包中的bw_mod-0.6.txt文件

 

 

 WAP页面访问速度慢的问题已经基本解决,目前WAP页面访问速度已经正常。

  原因是经过优化后的Linux内核参数在CMWAP访问时会出现问题。

  影响CMWAP访问的两个参数是:net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

  这两个参数如果设置为1 开启,服务器性能会得到优化,但是却会影响CMWAP的访问,原因暂时不明。所以以后在安装服务器的时候应该注意将这两个参数的值设置为0.

  修改方法如下:1.编辑# vi /etc/sysctl.conf修改net.ipv4.tcp_tw_reuse = 0 net.ipv4.tcp_tw_recycle = 0

  2.内核参数生效:# sysctl -p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

偶然看到以前写过的这篇帖子 『小规模低性能低流量网站设计原则』,重新发到微博上引起了一点反响,觉得有必要以 Linode VPS 为例再做个简单的优化实践说明,免得总有人问我,也顺便赚点点击量 :)

假定现在你已经有了一个基本的 VPS 可用,基本内存 512MB 。参考官方提供的各种安装指导将 LAMP 这个组合运行了起来,操作系统一般 Ubuntu ,Web 服务器 Apache ,数据库 MySQL ,然后是 PHP ,以及需要安装的应用软件,WordPress 、Drupal 或是 OpenCart 什么的,一步一步配置好,能够正常的浏览页面。按照官方指导文档操作的一个好处是会包括一些基本的优化一点的配置。不至于出现太大的错误。

一旦应用就绪后,登录到操作系统中,通过 top / iostat / free 等基本操作系统命令收集基准数据,做记录。收集信息越全面,对于后面的优化就越便利。优化没有魔法,只有合理的方法。

1.内存相关的调整

内部测试或是较小范围使用,可能这样也不会遇到太大问题。一旦访问人数多了一点,机器响应可能就有点慢了。对于 VPS ,第一步着手调整的就是各个组件对内存的使用。因为内存受限,对内存的使用一定要精打细算一点。记住一旦内存耗尽,一部分内存调用压到磁盘上,系统负载会飙升,一般就会挂掉。

一般来说,对于 LAMP 环境,以下几个地方要注意:

PHP 程序的内存相关的调整

PHP5 配置文件 php.ini 中 memory_limit 定义的值默认情况是16MB,该参数定义单个 PHP 脚本消耗最大的内存大小(大意)。如果程序某个页面需要的内存超过这个限制,访问者最可能遇到一个 HTTP 500 错误,查看 Web 服务器错误日志也可以看到。多数情况下,这个值需要做相应调整。比如设置为32MB,是否合适,需要做观察。有一个经验方法是观察 top 命令的输出,看相应进程的 SHR 字段的值,实际上总是尽量大一点点。但不能过大,一旦有个别程序写的不好调用的时候占用过多资源,会导致 VPS 挂掉。

经常有人问,这个服务器跑某某 Web 应用,能支持多少并发? 一个大致的思路是估算单个进程占用的内存,看系统能分配多少内存给应用程序,并发的量大致可以估算得到。但实际上,这个提问基本没多大价值。

另外,还有一个比较重要的参数需要修改 output_buffering 需要修改为 On 或是具体数值(eg, 4096)。修改配置后,检查是否生效(如何检查?)。另外,记住error_log的位置,随时查看。

MySQL 数据库内存占用 

如果不确定 MySQL 内存使用情况,可以利用 MySQLReport 这个工具收集一下 MySQL 实例的信息报告,不同时间段多收集几次作为对比。然后相应的调整 key_buffer/query_cache_size 等参数的大小, 一次调整一个参数,重启动 MySQL ,继续抽取报告,分析数据,然后调整下一个参数。既然需要编辑配置文件 my.cnf , 建议顺手加大一点 max_connections 这个参数(为什么?)。

多数内存问题都是由数据库 I/O 引起,导致 I/O 问题多由不合理数据库调用有关(这么说严谨么?),解决不合理调用要么修改应用,要么通过查询缓存或是 Key-Value Cache 等办法缓解。这地方说来话长,假定 VPS 上基本不会有这么复杂的环境。

2. 影响 CPU 利用率的调整

这个主要针对 PHP 的 Opcode(Accelerator) 而言,解析、编译PHP代码是相当消耗CPU的操作。常见的要么是 APC, 要么是 eAccelerator 或是 XCache,在 Ubuntu 下安装配置都相对简单,参数调整简单搜索一下就知晓了。如果是 PHP 环境,那么一定要用 Opcode 减少 CPU 的负荷(为什么?)。至于用哪一个关系倒是不大,但前提是必须要有一个。

另外,张磊同学这篇 让进程运行在指定的CPU 对于特定需求的应用,很有借鉴意义。

3. 网络参数控制

修改 /etc/sysctl.conf 文件,增加如下几行:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

然后 sudo sysctl -p 使修改生效。使用如下一行命令观察半连接数量:

$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

其实一般来说,网络连接数不会成为最明显的瓶颈。但顺手调整一下也好,「不费电」。有人问,如果遇到 DDoS 怎么办?忍着。

4. 应用程序相关的调整

比较流行的开源程序,不安装第三方插件的情况下,性能多少过得去。建议如果没有必要,不要启用过多的第三方插件,尤其是一些带有统计或是「智能」显示内容之类的插件能不用就不用。

这些开源程序也基本上都有面向前端优化的静态化解决方案,比如 WordPress 的 Cache 相关的插件,强烈推荐启用。有时间看看前端优化的实践建议。


(图片来源)

优化最重要的是找到瓶颈,对症下药。前面已经说到了内存、CPU、网络,大致提了一点 I/O 问题,基本也就够了。PHP 的 Log , MySQL 的慢查询 Log ,Apache 的 Error Log ,常过滤看一下有没有新情况。

补充一点,别忘了修改 OS 的 ulimit 限制:

编辑 /etc/security/limits.conf 增加如下两行(具体数值大点小点问题不大):

*  soft  nofile 40960
*  hard  nofile 40960

编辑 /etc/pam.d/common-session ,增加如下一行:

session required pam_limits.so

编辑 /etc/profile ,增加如下一行:

ulimit -SHn 40960

重新启动 OS 即可生效。

Linode 后台提供了几个基本的统计图,基本够用。可以设置磁盘 I/O 过高的时候报警,系统会发邮件给你。注意看一下网络流量的使用。不要因为个别文件被盗链而将带宽消耗殆尽。

上面提到的不少修改建议不要照葫芦画瓢,知其然,还要知其所以然。每一步的调整多阅读系统手册,尤其是涉及到具体的参数数值,一定要针对实际情况修改。对基本的配置足够掌握之后,可以根据具体情况尝试性能效率的组件,比如用 Nginx/Lighttpd 替换 Apache ,但是要记住,如果 Apache 不是瓶颈的话,用传说中性能更好的 Web 服务器来替换无疑是折腾。

再次提醒不要过度优化,足够满足需求就行了。有更多的精力完全可以放在其他环节上。另外,如果基本的调整做过之后,想用最省事的办法改善性能,那么,直接向服务商购买额外的内存吧。

好吧,最后我想说的是其实这个优化思路并不局限于 VPS ,这个最小实践套路对于复杂的服务器环境也是基本适用的。

--EOF--

Tip:页面不要引用太多的三方脚本。否则也会被拖慢不少。

 

 

 

 

 

 

小规模低性能低流量网站设计原则

 

到处都是什么大规模啊,高流量啊,高性能之类的网站架构设计,这类文章一是满足人们好奇心,但看过之后也就看过了,实际收益可能并不大;另外一个副作用是容易让人心潮澎湃,没学走先学跑,在很多条件仍不具备的情况下,过度设计、过度扩展(高德纳大爷也说过,"过早优化是万恶之源"),所以,这里反弹琵琶,讨论一下小规模低性能低流量的网站该如何搞法。

如果站点起步阶段可能就是一台机器(或是一台虚拟机,比如 JobsDigg.com ),这个时候,去关注什么数据拆分啊,负载均衡啊,都是没影子的事情。很多大站点的经验绝不能照搬,辩证的参考才是硬道理。

拥抱熟知的技术

动手构建站点的时候,不要到处去问别人该用什么,什么熟悉用什么,如果用自己不擅长的技术手段来写网站,等你写完,黄花菜可能都凉了。所以,有现成的软件组件可用,就不要自己重新发明轮子。人家说 Python 牛,但自己只懂 PHP ,那就 PHP 好了,如果熟悉 .net ?,那也不错。用烂技术不是丢人的事情,把好技术用烂才丢人。

架构层次清晰化

起步的阶段应该清楚的确定下来架构的层次。如果都搅和在一起,业务一旦扩增开来,如果原有的一堆东西拆不开就是非常痛苦的事情。

Web Server <--> (AppServer)<-->Cache(eg. Memcached)<-->DB

层次清晰化的一个体现是(以 LAMP 架构为例):即使只有一台机器,也应该起个 Memcached 的实例,效果的确非常好(除非内存小)--一般人儿我不告诉他...不要把什么都压到 DB 上,DB 一旦 I/O 压力走到磁盘上,问题要暴露出来是很快的。没错,DB 本身也会利用自己的 Cache,但 DB 的Cache 和 Memcached 设计出发点毕竟不一样。

数据冗余? 有必要

很多人并不是数据库设计专家,如果应用要自己设计表结构什么的,基本都是临时抱佛脚,但三个范式很多人倒是记得牢,这是大多数小型 Web 站点遇到的一个头疼事儿,一个小小的应用搞了几十个表... 忘掉范式这个玩意儿! 记住,尽可能的冗余数据,你在数据层陷入的时间越多,你在产品上投入的就会越少。用户更关心的是产品的设计。

前端优化很重要

因为流量低,访客可能也不多,这时候值得注意的是页面不要太大,多数流量低的站点吃亏就在于一个页面动辄几兆(我前两天看到一个Startup的首页有4M之大,可谓惊人),用户看个页面半分钟都打不开,你说咋发展? 先把基本的条件满足,再去研究前端优化。

功能增加要谨慎

不是有个 80/20 原则么? 把最重要的精力放在最能给你带来商业价值的地方。有些花里胡哨的功能带来很大的开销,反而收效甚微。记住,小站点,最有价值的是业务模式,而不是你的技术有多牛。技术是为业务服务的,不要炫技。

有些网站不停的添加功能,恰恰是把这些新功能变成了压死自己的稻草。

从开始考虑性能

这一点是可选的,但也重要。设计应用的时候在开始就应考虑 Profile 这件事情。一套应用能否在后期进行有效优化和扩展,很大的程度限制在是否有比较合适的 Profile 机制上。需要补充的是,对性能的考虑必然要把有关的历史数据考虑进来。另请参见网站运维之道的容量规划以及其它小帖子。

好架构不是设计出来的

这是最后要补充的一点。好的架构和最初的设计有关系,但最重要的是发展中的演化:

发展-->发现问题-->反馈-->解决问题(执行力)--> 改进->进化到下一阶段--新问题出现(循环)

有些站点到了某个阶段停足不前,可能卡在执行力这个地方,来自用户的反馈意见上来了之后,没有驱动力去做改进。最后也是死猪不怕开水烫了。最怕听到的就是"业务不允许"的托词,试想如果不改进业务都没了,那业务还允许么? 其实就是一层心理障碍。

这篇文章有浓重的山寨风格,所以,你不要太认真。如果在用短、平、快的方式构建某些山寨网站的话,可参考其中对你有益的点,不赞同的地方可以直接忽视掉,就没必要费力留言进行争论了。

--EOF--

  • 好的业务模式(产品) + 很好的技术 = 大赚钱
  • 好的业务模式(产品) + 能用的技术 = 也赚钱
  • 差的业务模式(产品) + 好的技术 = 赚吆喝(现在的SNS就差不多这样了)
  • 差的业务模式(产品) + 差的技术 = 自己浪费资源

 

你可能感兴趣的:(bw_mod模块让你的Apache也能实现流量限制 用mod_cband实现apache流量控制监测)