当前位置:IT快活林→网上冲浪菜鸟进阶

Apache服务器配置技巧

作者:本站整理   发布时间:2008-9-5 11:32:08


本文简要介绍了十几个Apache 的配置技巧:

1,如何设 置请求等待时间

在httpd.conf里面设置:

TimeOut n

当中n为整数,单位是秒.

设置这一个TimeOut适用于三种情况:

II.如何接收一个get请求的总时间

接收一个post和put请求的TCP包之间的时间

TCP包传输中的响应(ack)时间间隔

III.如何使得apache监听在特定的端口(Port)

修改httpd.conf里面关于Listen的选项,比如说是:

Listen 8000

是使apache监听在8000端口(Port)

而不能是如果要同时指定监听端口(Port)和监听地址,可以使用:

Listen 19II.170.II.1:80
Listen 19II.170.II.5:8000

这样就使得apache同时监听在19II.170.II.1的80端口(Port)和19II.170.II.5的8000端口(Port).

当然也可以在httpd.conf里面设置:

Port 80

这样来实现类似的效果(Effect).

IV.如何设置apache的最大空闲进程数

修改httpd.conf,在里面设置:

MaxSpareServers n

当中n是一个整数.这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而不能是保持空闲进程在n,节省了操作操作系统资源.如果在一个apache非常繁忙的站点调节这一个参数才是必要的,但是在任何时候把这一个参数调到很大都不是一个好主意.

同时也可以设置:

MinSpareServers n

来限制最少空闲进程数目来加快反应速度.

V.apache如何设置启动操作系统时的子服务进程个数

在httpd.conf里面设置:

StartServers 5

这样启动操作系统apache后就有5个空闲子进程等待接受请求.

也可以参考MinSpareServers和MaxSpareServers设置.

VI.如何在apache中设置每个连接的最大请求数

在httpd.conf里面设置:

MaxKeepAliveRequests 100

这样就可以保证在一个连接中,如果同时请求数达到100就不再响应这一个连接的新请求,保证了操作操作系统资源不怎么会被某个连接大量占用.但是在实际配置中要求尽量把这一个数值调高来获得较高的操作操作系统性能.

VII.如何在apache中设置session的持续时间

在apacheI.2以上的版本中,可以在httpd.conf里面设置:

KeepAlive on
KeepAliveTimeout 15

这样就可以限制每个session的保持时间是15秒.session的使用可以使得很多很多请求都可以通过同一个tcp连接来发送,节约了网络资源和操作操作系统资源.

8,如何使得apache对客户端进行域名验证

可以在httpd.conf里面设置:

HostnameLookups on|off|double

如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而不能是off就是不进行域名验证.

如果为了安全,建议使用double;为了加快访问速度,建议使用off.

9,如何使得apache只监听在特定的ip

修改httpd.conf,在里面使用

BindAddress 19II.168.0.1

这样就可以使得apache只监听外界对19II.168.0.1的http请求.如果使用:

BindAddress *

就表明apache监听所有网络接口上的http请求.

当然用防火墙(本站在极力推荐使用瑞星防火墙,如何使用在本站的反毒杀毒里有详细的介绍)也可以实现.

10,apache中如何限制http请求的消息主体的大小

在httpd.conf里面设置:

LimitRequestBody n

n是整数,单位是byte.

cgi脚本一般把表单里面内容作为消息的主体提交给服务器(Server)处理,所以现在消息主体的大小在使用cgi的时候很有用.譬如使用cgi来上传文件,如果有设置:

LimitRequestBody 102400

那么上传文件超过100k的时候就会报错.

11,如何修改apache的文档根目录

修改httpd.conf里面的DocumentRoot选项到指定的目录,譬如:

DocumentRoot /www/htdocs

这样http://localhost/index.html就是对应/www/htdocs/index.html

1II.如何修改apache的最大连接数

在httpd.conf中设置:

MaxClients n

n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译.

1III.如何使每个用户有独立的cgi-bin目录

有两种可选择(Choose)的方法:

I.在Apache配置文件里面关于public_html的设置后面加入下面的属性:

ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2

II.在Apache配置文件里面关于public_html的设置里面加入下面的属性:


Options ExecCGI
SetHandler cgi-script


1IV.如何调整Apache的最大进程数

Apache允许为请求开的最大进程数是256,MaxClients的拗剖?5VI.如果用户多了,用户就只能看到Waiting for reply....然后等到下一个可以用进程的出现.这一个最大数,是Apache的程序(Procedures)(Procedures)决定的--他的NT版可以有1024,但Unix版只有256,您可以在src/include/httpd.h中看到:

#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif

您可以把他调到1024,然后再编译您的操作操作系统.

1V.如何屏蔽来自某个Internet地址的用户访问Apache服务器(Server)

可以使用deny和allow来限制访问,譬如要禁止20II.20II.20II.xx网络的用户访问:


order deny,allow
deny from 20II.20II.20II.0/24


1VI.如何在日志里面记录apache浏览器和引用信息

您需要把mod_log_config编译到您的Apache服务器(Server)中,然后使用下面类似的配置:

CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""

1VII.如何修改Apache返回的头部信息

问题分析:当客户端连接到Apache服务器(Server)的时候,Apache一般会返回服务器(Server)版本,非缺省模块等信息,比如说是:

Server: Apache/I.III.26 (Unix) mod_perl/I.26

解决:

您可以在Apache的配置文件里面作如下设置让他返回的关于服务器(Server)的信息减少到最少:

ServerTokens Prod

注意:

这样设置以后Apache还可能会返回一定的服务器(Server)信息,譬如:

Server: Apache

但是这一个不怎么会对服务器(Server)安全产生太多的影响,因为很多很多扫描软件(soft)是扫描的时候是不顾您服务器(Server)返回的头部信息的.您如果想把服务器(Server)返回的相关信息变成:

Server: It iS a nOnE-aPaCHe Server

那么您就要去修改源码了.
阅~~~!
谢~IT快活林网的站长
收下了.好贴
领教了,呵呵
var tagarray =['软件(soft)','网络','工具','操作操作系统','网吧','电脑','破解','服务器(Server)','VPN','(路由器的缩写)器(局域网中常用的一种设备,可以很好的防止Arp病毒)'];var tagencarray =['%C8%ED%BC%FE','%CD%F8%C2%E7','%B9%A4%BE%DF','%CF%B5%CD%B3','%CD%F8%B0%C9','%B5%E7%C4%D4','%C6%C6%BD%E2','%B7%FE%CE%F1%C6%F7','VPN','%C2%B7%D3%C9%C6%F7'];parsetag(7416);
》热 点 关 注