Apache配置优化
2013-08-05 00:15
239 查看
1、 取消目录浏览
默认配置下,如果目录默认首页不存在的话,apahce将会生成目录文件列表。但是这个是不安全的。
查找所有包含以下内容的配置块
将红色内容改成 –indexes,就是在前面加多一个负号
2、 日志切割,按日期生成日志文件
默认配置下,所有日志将存放于一个文件。一方面所有日志都在一个文件,不好分析管理,另一方面随着文件越来越大,也影响到apache性能。
错误日志:
#ErrorLog "logs/error.log"
ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400"
访问日志:
#CustomLog "logs/access.log" common
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400" common
另外修改日志记录级别:
LogLevel error
3、 禁止向客户端发送服务器信息
默认配置下,apache会向客户端发生服务器信息,包含操作系统信息,apahce版本信息,apahce模块信息等等。这些信息都会影响到服务器安全。
ServerSignature Off
ServerTokens Prod
4、 限制apache处理的http协议
通过以下配置,限制apache只处理Get和Post数据,有助于提高服务器的安全性
5、 保持连接和响应超时
使用保持连接功能,使得apache可以在一个连接中处理客户端多个请求,可以提高服务器的性能。这个功能最好配合超时功能一起使用。但是,如果服务器繁忙,请求过多则应关闭这个功能。尽管KeepAlive方式能减少TCP连接数量和网络负载,但是KeepAlive需要和线程绑定,这就导致一个繁忙的服务器会耗光所有的线程。
打开保持连接功能:
KeepAlive On
在使用保持连接功能时,客户一次请求连接能响应文件的最大上限:
MaxKeepAliveRequests 100
在使用保持连接功能时,两个相邻的连接的时间间隔超过3 秒,就切断连接
KeepAliveTimeout 3
若30 秒后没有收到或送出任何数据就切断该连接:
Timeout 30
6、 使用Apache MPM(多路处理模块)
Apache MPM可以通过优化apache内部进程的调度来提高apache的处理能力。
取消以下配置的注释(去掉前面的#号)
Include conf/extra/httpd-mpm.conf
具体配置细节可以打开这个文件httpd-mpm.conf
通过“httpd -l”可以查看当前加载了具体哪个mpm模块,然后再针对这个模块做优化。
StartServers 指令设置了服务器启动时建立的子进程数量。因为Apache子进程数量取决于实际负载动态调整,所以调整这个参数意义不大。不同的MPM默认值也不一样。
StartThreads 指令设置了服务器启动时建立的线程数量。因为Apache线程数量取决于实际负载动态调整,所以调整这个参数意义不大。
MaxClients 指令设置了允许同时伺服的最大接入请求数量。任何超过MaxClients限制的请求都将进入等候队列,直到达到ListenBacklog指令限制的最大值为止。一旦一个链接被释放,队列中的请求将得到服务。
MaxRequestsPerChild 指令设置了每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。将MaxRequestsPerChild设置成非零值有两个好处:1、可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。2、给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
ThreadsPerChild 指令设置了每个子进程建立的线程数。子进程在启动时建立这些线程后就不再建立新的线程了。如果使用一个类似于mpm_winnt只有一个子进程的MPM,这个数值要足够大,以便可以处理更多的请求。如果使用一个类似于worker有多个子进程的MPM,每个子进程所拥有的所有线程的总数要足够大,以便可以协同处理所有的请求。
更多可以查看apache关于mpm的文档:http://httpd.apache.org/docs/2.2/mod/mpm_common.html
默认配置下,如果目录默认首页不存在的话,apahce将会生成目录文件列表。但是这个是不安全的。
查找所有包含以下内容的配置块
将红色内容改成 –indexes,就是在前面加多一个负号
2、 日志切割,按日期生成日志文件
默认配置下,所有日志将存放于一个文件。一方面所有日志都在一个文件,不好分析管理,另一方面随着文件越来越大,也影响到apache性能。
错误日志:
#ErrorLog "logs/error.log"
ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400"
访问日志:
#CustomLog "logs/access.log" common
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400" common
另外修改日志记录级别:
LogLevel error
3、 禁止向客户端发送服务器信息
默认配置下,apache会向客户端发生服务器信息,包含操作系统信息,apahce版本信息,apahce模块信息等等。这些信息都会影响到服务器安全。
ServerSignature Off
ServerTokens Prod
4、 限制apache处理的http协议
通过以下配置,限制apache只处理Get和Post数据,有助于提高服务器的安全性
5、 保持连接和响应超时
使用保持连接功能,使得apache可以在一个连接中处理客户端多个请求,可以提高服务器的性能。这个功能最好配合超时功能一起使用。但是,如果服务器繁忙,请求过多则应关闭这个功能。尽管KeepAlive方式能减少TCP连接数量和网络负载,但是KeepAlive需要和线程绑定,这就导致一个繁忙的服务器会耗光所有的线程。
打开保持连接功能:
KeepAlive On
在使用保持连接功能时,客户一次请求连接能响应文件的最大上限:
MaxKeepAliveRequests 100
在使用保持连接功能时,两个相邻的连接的时间间隔超过3 秒,就切断连接
KeepAliveTimeout 3
若30 秒后没有收到或送出任何数据就切断该连接:
Timeout 30
6、 使用Apache MPM(多路处理模块)
Apache MPM可以通过优化apache内部进程的调度来提高apache的处理能力。
取消以下配置的注释(去掉前面的#号)
Include conf/extra/httpd-mpm.conf
具体配置细节可以打开这个文件httpd-mpm.conf
通过“httpd -l”可以查看当前加载了具体哪个mpm模块,然后再针对这个模块做优化。
StartServers 指令设置了服务器启动时建立的子进程数量。因为Apache子进程数量取决于实际负载动态调整,所以调整这个参数意义不大。不同的MPM默认值也不一样。
StartThreads 指令设置了服务器启动时建立的线程数量。因为Apache线程数量取决于实际负载动态调整,所以调整这个参数意义不大。
MaxClients 指令设置了允许同时伺服的最大接入请求数量。任何超过MaxClients限制的请求都将进入等候队列,直到达到ListenBacklog指令限制的最大值为止。一旦一个链接被释放,队列中的请求将得到服务。
MaxRequestsPerChild 指令设置了每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。将MaxRequestsPerChild设置成非零值有两个好处:1、可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。2、给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
ThreadsPerChild 指令设置了每个子进程建立的线程数。子进程在启动时建立这些线程后就不再建立新的线程了。如果使用一个类似于mpm_winnt只有一个子进程的MPM,这个数值要足够大,以便可以处理更多的请求。如果使用一个类似于worker有多个子进程的MPM,每个子进程所拥有的所有线程的总数要足够大,以便可以协同处理所有的请求。
更多可以查看apache关于mpm的文档:http://httpd.apache.org/docs/2.2/mod/mpm_common.html
相关文章推荐
- apache优化配置
- Apache的优化配置
- 读《实战nginx-取代Apache的高性能web服务器》-"Nginx HTTP 负载均衡和反向代理的配置与优化"精华纪要
- apache配置优化之worker工作模式
- apache 1.3的配置优化
- apache配置优化(六)
- Apache优化配置详解
- 网站优化一:apache开启gzip压缩配置详解
- apache性能配置优化
- apache配置优化之伪静态设置
- apache配置优化之prefork工作模式
- 通过windows任务计划来备份数据库以及检测apache是否正常运行-sever 2008 Apache优化配置
- apache优化配置
- CentOS+Apache+Mysql+Php安装及优化配置小记 推荐
- apache性能配置优化
- Apache 性能配置优化
- Apache配置优化
- SVN+Apache域用户认证配置方法_Windows(转,重新排版,部分内容更新优化)
- apache配置优化(七)
- Apache配置优化