当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 建立一个带宽、线程可控的下载型WEB网站

Unix/Linux
在Linux终端下进行BT下载
用软件lm_sensors监测Linux系统和CPU温度
vi编辑器图解教程
Linux系统下光,驱软开关与限速
LINUX系统下MySQL 压力测试工具super smack
Linux系统日志的介绍
LINUX终端下的网络监测工具--Speedometer
解决linux不能上传大于2M文件
Linux常见死机原因
linux系统下邮件服务器sendmail的配置
Linux系统下挂载Windows分区的方法和技巧
解决centos系统 setup时乱码问题
总结一下linux远程控制方法
进图形界面黑屏的解决办法
VMware虚拟机下 Redhat上网
rpm安装以及rpm升级命令
Linux启动出现start ls-disk module sg not found
SecureCRT中文乱码和全屏无法显示菜单的解决办法
完全免费自建Linux防火墙的方法
g++模板编译方法

Unix/Linux 中的 建立一个带宽、线程可控的下载型WEB网站


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 66 ::
收藏到网摘: n/a

  APACHE+MYSQL+PHP+PROFTPD+MOD_LIMITIP+MOD_BANDWIDTH

一、前言

本人结合网上资料和个人的实践,利用一个下午的时间写出了这个适用于资源下载型网站的典型配置。这种配置的WEB网站初步实现了IP线程和线程流量的管理,同时proftpd用于上传资源,ssh用于主机管理。无疑这样可以自己支配宝贵的网络带宽,文章后面有个简单的防火墙配置仅供参考,我用的linux版本是redhat as 3.0。希望大家在看了这篇文章后多多和我交流, MAIL:[email protected]

二、软件版本

apache-1.3.29
mysql-4.0.16
php-4.3.4
proftpd-1.2.9
mod_limitipconn-0.04
mod_bandwidth-2.0.4

三、安装配置Mysql

# cd mysql-4.0.16

# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data
--disable-maintainer-mode –with-mysqld-user=mysql --enable-large-files-without-debug

# make
# make install

添加mysql用户

# /usr/sbin/groupadd mysql

Then we create a user called mysql which belongs to the mysql group;

# /usr/sbin/useradd -g mysql mysql

安装数据库文件:

#./scripts/mysql_install_db

设置文件权限:

# chown -R root:mysql /usr/local/mysql
# chown -R mysql:mysql /usr/local/mysql/data

配置ld.so.conf

# vi /etc/ld.so.conf

增加下面一句:

/usr/local/mysql/lib/mysql

建立mysql的启动文件:

# cp support-files/mysql.server /etc/init.d/mysql
# cp support-files/my-medium.cnf /etc/my.cnf

以安全模式启动mysql:

# /usr/local/mysql/bin/mysqld_safe –user=mysql &

设置mysql的root密码:

# /usr/local/mysql/bin/mysqladmin -u root password new_password

把mysql服务设置为开机启动:

# chmod 755 /etc/init.d/mysql
# chkconfig –-add mysql
# chkconfig mysql on


四、安装配置PHP

#cd php-4.3.4

#./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql

#make
#make install

建立php的配置文件:

# cp php.ini-dist /usr/local/php/lib/php.ini

修改php的配置文件:

#vi /usr/local/php/lib/php.ini

doc_root= “/home/www/”
file_uploads=Off
register-golbals = On

建立测试php页面

# vi /home/www/test.php

<?php phpinfo(); ?>

# chomd 755 /home/www/test.php


五、安装apache-1.3.29

# tar zvxf apache_1.3.29.tar.gz
# cd apache_1.3.29
# cp ../mod_bandwidth.c mod_bandwidth.c

修改src/include/httpd.h 增大最大线程数
# vi src/include/httpd.h

修改其中的
#define HARD_SERVER_LIMIT 256

#define HARD_SERVER_LIMIT 2560

# ./configure --prefix=/usr/local/apache --enable-module=so
--enable-module=rewrite --enable-shared=max
--htdocsdir=/home/www --add-module=mod_bandwidth.c
--permute-module=BEGIN:bandwidth

# make
# make install

建立启动文件:

#cp apachectl /etc/init.d/httpd

修改apache的配置文件:

#vi /usr/local/apache/conf/httpd.conf

修改、添加和确认存在下列配置项:

addDefaultCharset GB2312 注释掉“addDefaultCharset ISO8859*”
ExtendedStatus On
LoadModule php4_module modules/libphp4.so
DirectoryIndex index.html index.html.var index.php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
LoadModule limitipconn_module libexec/mod_limitipconn.so
AddModule mod_limitipconn.c

安装mod_limitipconn-0.04

# tar xzf mod_limitipconn-0.04.tar.gz
# cd mod_limitipconn-0.04
# vi Makefile

APXS = /usr/local/apache/bin/apxs

# make
# make install

使用mod_limitip模块需要在httpd.conf中增加这个设置

<IfModule mod_limitipconn.c>
<Location /home/www/> 设置要控制的目录
MaxConnPerIP 2 限制每个IP的最大线程数
</Location>
</IfModule>

完成mod_bandwidth模块的安装

创建 mod_bandwidth 运行需要的目录

mkdir /var/apachebw
mkdir /var/apachebw/link
mkdir /var/apachebw/master
chmod -R 777 /var/apachebw

修改htt