2010-02-04 59 views
26

我想使用Apache中的keep-alive功能。我怎么能用我的主机(.htaccess文件)来做到这一点,以及像KeepAliveTimeout这样的参数的最佳值是什么?在.htaccess中使用保持活动功能

+2

Migrate:to SF? – 2010-02-04 15:14:48

回答

16

您无法控制.htaccess中的存活行为。 Keepalive是一种主机级别的功能,而不是根据每个目录的htaccess信息不同的目录可以有不同行为的功能。

如果您所使用的基本共享主机只能让您.htaccess配置您的网站,则无法更改Keepalive设置。据推测,托管公司将适当地设置它们,或者只是将它们留在默认设置中,这通常很好。

+0

谢谢bobince,应该是什么时间超时,因为我的网站doesn没有大量的流量 谢谢 – webkul 2010-02-04 15:19:21

+0

如果您的主机没有改变它,Apache 2.0中的默认值是15秒,2.2中是5秒。任何一种设置都是完全合理的。 – bobince 2010-02-04 15:23:36

+2

对不起,但在Apache中,您可以使用.htaccess添加此代码 标头集连接保持活动 ...它的工作原理!关于时间安排,服务器的默认设置通常很好。 – Simbus82 2014-10-03 09:53:29

3

它非常依赖于您的网站和它收到的流量。如果用户访问您的站点,然后点击KeepAliveTimeout设置中的另一个页面(默认值为15),则不必创建新的TCP。这可以真正帮助开销。

另一方面,任何与现有访问者绑定的Apache进程将无法与新进程进行通信。所以你可能不得不增加可用的Apache进程的总数。

总之......它需要调整。

+0

感谢您的回答,但保持活着不工作在我的网站 我如何启用和我的网站没有大量的流量 谢谢 – webkul 2010-02-04 15:01:47

2

你不能控制保持活动的行为在.htaccess

92

如果保持活动的Apache配置开启时,所有你需要的只是设置一个HTTP头连接:保持活跃。例如。添加以下行.htaccess文件:

<ifModule mod_headers.c> 
    Header set Connection keep-alive 
</ifModule> 
+4

你先生,应该得到更多的赞美。 – PaulSkinner 2012-10-02 15:17:21

+0

欲了解更多ifmodule保持活动设置请参阅http://httpd.apache.org/docs/2.2/mod/core.html#keepalive – Blowsie 2013-01-23 09:25:29

+3

无论如何,我会坚持“IfModule”而不是“ifModule”。 – Hermes 2013-05-16 16:41:06

14

是保持活动行为可以的.htaccess文件来控制。 首先通过打印$_SERVER检查服务器设置,如果

[HTTP_CONNECTION] => keep-alive 

是有那么你只需要在您的的.htaccess文件中的设置。 在项目根目录下的.htaccess文件末尾添加以下行。

<ifModule mod_headers.c> 
    Header set Connection keep-alive 
</ifModule> 
4

如果您有SSH访问您的服务器,您应该编辑Apache配置文件。使用这些设置作为首发:

  • 保持活动:在
  • 的KeepAliveTimeout:3秒
  • MaxKeepAliveRequests:60

这应该有最基本的服务器设置工作平均流量。您始终可以调整设置以适应您自己的需求。在这里看到更详细的信息:http://www.giftofspeed.com/enable-keep-alive/

如果你没有访问你的服务器,你应该联系你的主机。通过编辑.htaccess文件自行更改Keepalive设置可能不起作用。

1

的.htaccess文件粘贴以下代码:

<ifModule mod_headers.c> 
    Header set Connection keep-alive 
</ifModule> 

然后使用这个网站:https://varvy.com/pagespeed/,以检查它是否启用。