apache机能调优(3)

利用ServerLimit和ThreadLimit时要出格当心。假如将ServerLimit和ThreadLimit配置成一个跨越实际需要很多的值,将会有过多的共享内存被分派。当配置成高出系统的处理惩罚本领,Apache大概无法启动,可能系统将变得不不变。

Windows系统下Apache 并发数的优化

以上是Linux/Unix下的Apache的并发数优化设置,假如我们打入了httpd –l如下显示:

apache性能调优

怎么办?

ü   步调一

先修改/path/apache/conf/httpd.conf文件。

httpd.conf

将“#Includeconf/extra/httpd-mpm.conf”前面的 “#” 去掉,生存。

ü   步调二

再修改/apache安装目次/conf/extra/httpd-mpm.conf文件。

mpm_winnt模式下,Apache不利用prefork也不利用work事情模式,切记!

因此,我们只要找到原文件中:

<IfModule mpm_winnt_module>

    ThreadsPerChild      150

    MaxRequestsPerChild    0

</IfModule>

 

修改后

<IfModule mpm_winnt_module>

    ThreadsPerChild      500

    MaxRequestsPerChild    5000

</IfModule>

 

上述参数表明:

ü   ThreadsPerChild

是指一个历程最多拥有的线程数(Windows版本,貌似不行以开启多个历程),一般100-500就可以,按照处事器的详细机能来抉择。

ü   MaxRequestsPerChild

是指一个线程最多可以接管的毗连数,默认是0,就是不限制的意思,

0极有大概会导致内存泄露。所以,可以按照实际环境,设置一个较量大的值。Apache会在几个线程之间举办轮询,找到负载最轻的一个线程来接管新的毗连。

留意:

修改后,必然不要apacherestart,而是先 apache stop 然后再 apache start才可以。

启用处事端图片压缩

对付静态的html 文件,在apache 可加载mod_deflate.so 模块,把内容压缩后输出,可节省大量的传输带宽。

打开httpd.conf文件,找到:

#LoadModule deflate_module modules/mod_deflate.so

 

将前面的“#”去掉,酿成:

LoadModule deflate_module modules/mod_deflate.so

 

然后在最后一行的LoadModule处,插手如下的几行:

<IfModule mod_deflate.c>

 DeflateCompressionLevel 7

 AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php

 AddOutputFilter DEFLATE css js

</IfModule>

 

留意:

默认品级是6,并且9级需要更多的CPU时间,用默认的6级就可以了。

要留意的是,在apache 2.2.15中,我用httpd -l看,居然发明mod_deflat已经内置了,所以其实就不消再在httpd.conf中增加loadmodule了,不然会说堕落的

中将MS办公函档自动关联客户端的MS-Office

我们常常会在web页的一个超链接上点一个指向物理文件的文档,我们一般会获得“生存,另存为,打开”,3个选项,当我们打开的假如是一个MS文档,在选“打开”选项时IE会自动启用客户端上装有的word可能是excel等相关MS办公东西去打开,这个怎么做呢?很简朴。

打开httpd.conf,找到:

    AddType application/x-compress .Z

    AddType application/x-gzip .gz .tgz

 

在其后敲入一个回车,插手:

AddType application/vnd.openxmlformats  docx pptx xlsx doc xls ppt txt

 

重启Apache处事即可。

防备DDOS进攻

DDOS进攻即回收自动点击呆板人可能持续点击东西不绝的刷新某一个网址可能网页上的按钮,造成网站在一时间收到大量的HTTP请求,进而阻塞网站正常的HTTP通道甚至造成网站瘫痪。

apache性能调优


为了防备这一形式的进攻,我们一般把在一个按钮可能是一个请求在一秒内持续执行如:100次,可以认为是一种进攻(好比说你打开一个网页,点一下提交按钮,然后按住F5键不松开)。

在Linux下的Apache HttpServer安装后会提供一个mod_evasive20的模块,用于防备这一形式的进攻,它的做法是:

假如认为是一个DDOS进攻,它的防御手段回收如下两种形势:

ü   把这个请求相关联的IP,封闭30分钟

ü   直接把相关的IP踢入黑名单,让其永不翻身

配置:

在你的Apache的httpd.conf文件中的最后一行“LoadModule”插手如下这句:

LoadModule evasive20_module   /usr/lib/httpd/modules/mod_evasive20.so

 

然后插手下面这几行

<IfModule mod_evasive20.c>

DOSHashTableSize 3097

DOSPageCount 15

DOSSiteCount 100

DOSPageInterval 1

DOSSiteInterval 1

DOSBlockingPeriod 36000

DOSEmailNotify 网站超等打点员@xxx.com

DOSLogDir "logs/mod_evasive"

</IfModule>

 

焦点参数表明:

ü   DOSHashTableSize3097 记录黑名单的尺寸

ü   DOSPageCount 每个页面被判定为dos进攻的读取次数

ü   DOSSiteCount 每个站点被判定为dos进攻的读取部件(object)的个数

ü   DOSPageInterval 读取页面隔断秒

ü   DOSSiteInterval 读取站点隔断秒

ü   DOSBlockingPeriod 被封时距离断秒

留意:

上述配置是针对Linux/Unix下的Apache Server,相关的Windows下的Apache见如下配置:

为Windows下的Apache加载mod_evasive模块

1. 下载附件中的压缩包,解压并拷贝mod_dosevasive22.dll到Apache安装目次下的modules目次(虽然也可以是其他目次,需要本身修改路径)。

2. 修改Apache的设置文件http.conf。

添加以下内容

LoadModule dosevasive22_module modules/mod_dosevasive22.dll

DOSHashTableSize 3097

DOSPageCount 3

DOSSiteCount 50

DOSPageInterval 1

DOSSiteInterval 1

DOSBlockingPeriod 10

 
中配置URL含中文附件的下载/打开的要领(仅限Linux系统下)

这个话题很有趣,起因是我们在工程中遇到了客户这样的一个需求:

<a href=http://blog.csdn.net/kof820/article/details/11594785/”xxx.xxx.xx/xx/xxx/轮胎损坏环境2007-05-05.jpg”>损坏部件</a>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8381.html