当前位置 主页 > 服务器问题 > Linux/apache问题 >

    在APACHE环境下配置下载服务器的注意事项

    栏目:Linux/apache问题 时间:2019-10-08 10:26

    环境

    平台: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_add libxml2-2.6.23_1.tbz
     www#pkg_add perl-5.8.8.tbz
     www#tar zxvf httpd-2.0.59.tar.gz
     www#cd httpd-2.0.59
     www#./configure --prefix=/usr/local/apache --enable-so
     www#make
     www#make install

    #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中是否有以下这段文字

    # LoadModule foo_module modules/mod_foo.so
     LoadModule bw_module          modules/mod_bw.so
     LoadModule limitipconn_module modules/mod_limitipconn.so

    如果有就说明我们的APACHE已经加载上了

    #-----------------------------------------------------------------------------------------第二部----------------------------------

    编辑APACHE主配置文件

    找到/usr/local/apache/bin/httpd.conf文件中的以下这些内容是否配置正确

    DocumentRoot "/usr/local/apache/htdocs"  是否指定的是自己网站的根目录

    找到<Directory />
               Options FollowSymLinks
               AllowOverride None
            </Directory>

    在前面加上

    BandWidthModule On
     ForceBandWidthModule On
     BandWidth    all 50000

    前两句是启用限速模式,第三句是设置限制速度的多少,单位是字节。我们这里设置限速在50k以下

    找到#ExtendedStatus On 这行配置 将前面的注释“#”取消,或者在上面的配置下直接写上这句话也可以,然后在下面添加:

     <Location /down>
      MaxConnPerIP 1
      </Location>

    因为在/usr/local/apache/htdocs/down目录下放的都是网站提供下载的内容,对其进行单线程的限制,如果不指明/down这个目录,很有可能会造成客户在下载内容的时候无法正常浏览网页,因为浏览网页也会产生一个线程。