2014-10-27 72 views
0

,能不能请你帮我要最好的Apache配置最佳的Apache配置

我自己的服务器来下载文件,通过直接链接

下载文件

例如:domain.com/files.rar

没有编程或PHP函数

问题:有时我有高负载或停止服务器

为此,你能帮我[R最好的Apache配置

Such as: 
Server Limit 
Max Clients 
Max Requests Per Child 
Keep-Alive 
Keep-Alive Timeout 
Max Keep-Alive Requests 
Etc. 

我拥有4GB内存和硬盘驱动器,以及100兆-PS和1GBMb-PS服务器

感谢。

回答

0

如果你的apache设置有负载问题,你也可以考虑迁移到另一个系统。从我个人的经验来看,我建议你尝试nginx来提供静态文件。

+0

Nginx不支持.htaccess,因为这个必须使用Apache,而且我需要最好的Apache配置 – ALMGHARI 2014-10-27 12:12:14

1

独立的静态和动态内容

使用单独的服务器用于静态和动态内容。服务于动态内容的Apache进程将带来开销并膨胀到正在服务的内容的大小,从不减小大小。每个进程都会产生任何加载的PHP或Perl库的大小。一个6MB-30MB的进程大小[或10%的服务器内存]并不罕见,并成为服务静态内容的资源之腰。

为了更有效地使用系统存储器的,无论是使用mod_proxy的特定请求传递到另一个Apache服务器,或使用一个轻量级服务器来处理静态请求:

Nginx 
lighttpd 
Or use a front-end caching proxy such as Squid-Cache or Varnish-Cache 

服务器处理静态内容在前面。

请注意,动态内容服务器和静态内容服务器之间的配置设置会有很大不同。 mod_deflate

通过使用mod_deflate将带宽减少75%并提高响应时间。

LoadModule deflate_module modules/mod_deflate.so 
<Location /> 
    AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/x-javascript 
</Location> 

加载的模块

仅通过加载所需要的模块减少内存占用量。 有些人还建议通过构建DSO(动态共享对象)在所需模块中进行静态编译。非常糟糕的建议。每当模块的新版本或安全建议发布时,您都需要手动重新构建Apache,从而创建更多工作,构建更多相关头痛以及减少停机时间。

指定mod_expires

包括用于向设置特定内容的到期日期的能力指定mod_expires;利用由用户的浏览器/代理发送的'If-Modified-Since'头缓存控制。将节省带宽,并大幅加快您的网站[重复]访问者。

请注意,这也可以用mod_headers实现。

的KeepAlive

启用HTTP持久连接以改善延迟时间和显著降低服务器负载[原始负载的25%的情况并不少见。

prefork的MPM:

KeepAlive On 
KeepAliveTimeout 2 
MaxKeepAliveRequests 100 

工人和WINNT的MPM:

KeepAlive On 
KeepAliveTimeout 15 
MaxKeepAliveRequests 100 

随着prefork的MPM,建议设置 '保持活动' 到 '关'。否则,客户将在这段时间内完成整个流程。虽然根据我的经验,将'KeepAliveTimeout'值设置为非常低的值更有用[2秒似乎是理想值]。这对于工作者MPM [基于线程]或Windows [只有基于线程的winnt MPM]而言不是问题。

对于worker和winnt MPM,默认的15秒超时设置为保持连接为下一页请求打开;更好地处理从链接到链接的客户。检查日志以查看客户端在每个页面上保留多久,然后再转到另一个链接。适当设置值[不要设置高于60秒]。

符号链接

确保'选项+的FollowSymLinks -SymLinksIfOwnerMat CH' 被设为所有目录。否则,Apache将为每个文件名组件发出额外的系统调用,以证实文件名不是符号链接;和更多的系统调用来匹配所有者。

<Directory /> 
    Options FollowSymLinks 
</Directory> 

的AllowOverride

设置默认 '设置AllowOverride无' 为你的文件系统。否则,对于给定路径转换的URL,Apache将尝试在给定路径的每个目录级别下检测.htaccess文件。

<Directory /> 
    AllowOverride None 
</Directory> 

ExtendedStatus

如果包括mod_status的,确保指令 'ExtendedStatus' 设置为 '关闭'。否则,Apache会对每个请求发出几个额外的与时间相关的系统调用。

ExtendedStatus Off 
Timeout 

减少服务器在请求失败之前等待的时间。 超时45