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 @ 2020-03-15 15:19  星火撩原  阅读(169)  评论(0编辑  收藏  举报