Apache 优化

1、关闭DNS和名字解析

* HostnameLookups on | off | double

2、关闭客户端主机名解析

Apache 1.3之前HostnameLookups默认是打开的。这样客户端在访问服务器时,服务器将要解析客户端的主机名,并将其保存在日志文件中。对客户端进行域名反向解析会大幅降低服务器速度,所以最好将其设置为Off。
Apache 1.3之前HostnameLookups默认是打开的。这样客户端在访问服务器时,服务器将要解析客户端的主机名,并将其保存在日志文件中。对客户端进行域名反向解析会大幅降低服务器速度,所以最好将其设置为Off。
HostnameLookups off

* UseCanonicalName on | off | dns

3、关闭多余模块

Apache采用了模块化设计,管理员可以有选择地加载一些模块来加强服务器的功能。这些模块,可以在创建服务器时静态编译到服务器的二进制代码中,也可以编译成一些独立服务器程序的Dynamic Shared Objects(DSO)文件,在Apache启动的时候根据需要,动态加载。事实证明,不加载多余的模块总是可以提高Apache的性能。
复制代码
# apache的DSO模块是在httpd.conf中以:
# LoadModule access_module modules/mod_access.so

注:当不需要某个模块时,只要在其前添加“#”,注释掉该行。

# 服务器端包含,是一种已经过时的技术。
mod_include.so:

# 如果不希望Apache列目录显示,可以删除。
mod_autoindex.so:

# 如果你不需要进行安全验证,也没有必要加载。
mod_access.so、mod_auth.so

关闭没用模块
复制代码
复制代码
mod_dir.so:
用于定义缺省文档index.php、index.jsp等。

mod_log_config.so:
用于定义记录文件格式。

mod_mime.so:
定义文件类型的关联。

常用模块
复制代码

4、取消.htaccess验证

除非你确定需要使用.htaccess文件来控制客户端对相应目录的访问权限,否则设置“AllowOverride None”,可以免除Apache在每个目录搜索.htaccess文件之苦。
AllowOverride None

5、取消符号链接

FollowSymLinks允许使用符号连接,这将使用浏览器有可能访问文档根目录(DocumentRoot)之外的内容,并且只有符号连接的目的与符号连接本身为同一用户所拥有时(SymLinksOwnerMatch),才允许访问,这个设置将增加一些安全性,但将耗费Apache大量的资源。
Options FollowSymLinks

# 注:不要启用
SymLinksOwnerMatch

 6、打开KeepAlive支持

在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求。从而避免对于同一个客户端需要打开不同的连接。很多请求通过同一个 TCP连接来发送,可以节约网络和系统资源。
KeepAlive on
KeepAliveTimeout 15
MaxKeepAliveRequests 100
把MaxKeepAliveRequests设置的尽量大,可以在一次连接中进行更多的HTTP请求。但在我们的测试中还发现,把 MaxKeepAliveRequests设置成1000,则评测的客户端容易出现“Send requesttimed out”的错误,所以具体数值还要根据自己的情形来设置。

 

posted @   星火撩原  阅读(170)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示