在APACHE环境下配置下载服务器的注意事项
环境
平台:FreeBSD6.1
服务器:APACHE2.0.59
组件:
libiconv-1.9.2_2.tbz pkgconfig-0.20.tbz #pkg_add添加组件时需要的文件
libxml2-2.6.23_1.tbz perl-5.8.8.tbz #要使用pkg_add添加的组件
mod_bw-0.7.gz mod_limitipconn-0.22.tar.gz #起到限速和限制IP多线程下载的模块
根据版本的不同,有的时候直接安装APACHE即可,如果APACHE主目录下的/bin/apxs不能加载和编译模块的话,需要安装perl支持。
在我的机器上是先安装了perl
将以上这6个组件放到同一目录中,我习惯放到/root/src
#-----------------------------------------------------------------------------------------第一步------------------------------------
www#pkg_addlibxml2-2.6.23_1.tbz
www#pkg_addperl-5.8.8.tbz
www#tarzxvfhttpd-2.0.59.tar.gz
www#cdhttpd-2.0.59
www#./configure--prefix=/usr/local/apache--enable-so
www#make
www#makeinstall
#prefix用来制定安装APACHE的目录 enable-so是用来使APACHE运行起来以后可以加载mod动态模块
我们开始加载两个具有限制功能的模块
www#/usr/local/apache/bin/apxs-i-c-a/root/src/mod_bw/mod_bw.c
www#/usr/local/apache/bin/apxs-i-c-a/root/src/mod_limitipconn/mod_limitipconn.c
加载是否成功,可以察看一下/usr/local/apache/bin/httpd.conf中是否有以下这段文字
#LoadModulefoo_modulemodules/mod_foo.so
LoadModulebw_module modules/mod_bw.so
LoadModulelimitipconn_modulemodules/mod_limitipconn.so
如果有就说明我们的APACHE已经加载上了
#-----------------------------------------------------------------------------------------第二部----------------------------------
编辑APACHE主配置文件
找到/usr/local/apache/bin/httpd.conf文件中的以下这些内容是否配置正确
DocumentRoot"/usr/local/apache/htdocs" 是否指定的是自己网站的根目录
找到<Directory/>
OptionsFollowSymLinks
AllowOverrideNone
</Directory>
在前面加上
BandWidthModuleOn
ForceBandWidthModuleOn
BandWidth all50000
前两句是启用限速模式,第三句是设置限制速度的多少,单位是字节。我们这里设置限速在50k以下
找到#ExtendedStatusOn这行配置将前面的注释“#”取消,或者在上面的配置下直接写上这句话也可以,然后在下面添加:
<Location/down>
MaxConnPerIP1
</Location>
因为在/usr/local/apache/htdocs/down目录下放的都是网站提供下载的内容,对其进行单线程的限制,如果不指明/down这个目录,很有可能会造成客户在下载内容的时候无法正常浏览网页,因为浏览网页也会产生一个线程。
#-----------------------------------------------------------------------------------------------------------附加-----------------------------------
Apache通过bin/apachectl或者bin/httpd来控制启动或者停止.
#/usr/local/apache/bin/httpd-kstart #启动apache
#/usr/local/apache/bin/httpd-kstop #停止apache
#/usr/local/apache/bin/httpd-krestart#重启apache
如果想让APACHE随机器一起启动的话,可以写一个启动脚本放到/etc/rc.d目录下
cd/usr/local/etc/rc.d
viapache.sh
添加如下内容:
/usr/local/apache/bin/apachectlstart&
执行:wq!命令保存后退出,并执行如下命令:
chmod777apache.sh