在APACHE環境下配置下載服務器
日期:2017/2/8 10:30:53   編輯:關於服務器
環境
平台: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這個目錄,很有可能會造成客戶在下載內容的時候無法正常浏覽網頁,因為浏覽網頁也會產生一個線程。
#-----------------------------------------------------------------------------------------------------------附加-----------------------------------
Apache通過 bin/apachectl或者bin/httpd來控制啟動或者停止.
# /usr/local/apache/bin/httpd -k start #啟動apache
# /usr/local/apache/bin/httpd -k stop #停止apache
# /usr/local/apache/bin/httpd -k restart #重啟apache
如果想讓APACHE隨機器一起啟動的話,可以寫一個啟動腳本放到/etc/rc.d目錄下
cd /usr/local/etc/rc.d
vi apache.sh
添加如下內容:
/usr/local/apache/bin/apachectl start &
執行:wq!命令保存後退出,並執行如下命令:
chmod 777 apache.sh
#------------------------------------------------------------------------------------------------------------