【问题标题】:Using keep-alive feature in .htaccess在 .htaccess 中使用 keep-alive 功能
【发布时间】:2011-01-13 02:54:54
【问题描述】:

我想在 Apache 中使用 keep-alive 功能。如何使用我的主机(.htaccess 文件)执行此操作,KeepAliveTimeout 等参数的最佳值是多少?

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    将以下代码粘贴到您的 .htaccess 文件中:

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

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

    【讨论】:

      【解决方案2】:

      如果您可以通过 SSH 访问您的服务器,您应该编辑 Apache 配置文件。使用这些设置作为开始:

      • KeepAlive:开启
      • KeepAliveTimeout:3 秒
      • MaxKeepAliveRequests:60

      这应该适用于具有平均流量的大多数基本服务器设置。您可以随时调整设置以满足您自己的需要。有关此内容的更多详细信息,请参见此处:http://www.giftofspeed.com/enable-keep-alive/

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

      【讨论】:

        【解决方案3】:

        是的 Keep-alive 行为可以在 .htaccess 文件中进行控制。 首先通过打印$_SERVER 和 if 来检查服务器设置

        [HTTP_CONNECTION] => keep-alive
        

        那么您只需将设置包含在您的 .htaccess 文件中即可。 在项目根目录中的 .htaccess 文件末尾添加以下行。

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

        【讨论】:

          【解决方案4】:

          如果在 Apache 配置中启用了 Keep-alive,您只需设置一个 HTTP 标头 Connection: keep-alive。例如。将以下行添加到您的 .htaccess 文件中:

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

          【讨论】:

          • 你先生,值得更多赞美。
          • 更多 ifmodule keep alive 设置见httpd.apache.org/docs/2.2/mod/core.html#keepalive
          • 无论如何我都会坚持使用“IfModule”而不是“ifModule”。
          • 谁能猜到为什么这在 Apache 2.4 中对我不起作用? KeepAlive 在 apache2.conf 中设置为关闭。我可以通过 vhost conf 文件启用它,但不能在 htaccess 中启用。
          【解决方案5】:

          您无法控制 .htaccess 中的保活行为

          【讨论】:

            【解决方案6】:

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

            如果您使用的基本共享主机只提供.htaccess 来配置您的网站,则您无法更改保活设置。大概托管公司会适当地设置它们,或者只是将它们保留在默认设置上,这通常很好。

            【讨论】:

            • 谢谢 bobince,应该是什么超时时间,因为我的网站没有大量的流量谢谢
            • 如果您的主机没有更改它,Apache 2.0 中的默认值为 15 秒,2.2 中为 5 秒。任何一种设置都是完全合理的。
            • 抱歉,但在 Apache 中,您可以使用 .htaccess 添加此代码 Header set Connection keep-alive ...它可以工作!关于时间安排,服务器默认设置通常很好。
            • 下面的 anil kumar 和 pronskiy 提供了更好的答案 --- &lt;ifModule mod_headers.c&gt; Header set Connection keep-alive &lt;/ifModule&gt; in .htaccess 也适用于我。这是另一篇有用的文章:feedthebot.com/pagespeed/keep-alive.html
            • 我拥有服务器的 root 访问权限,但我不想为我的所有站点启用保持活动状态,所以不能只启用一个?
            【解决方案7】:

            这在很大程度上取决于您的网站及其收到的流量。如果用户访问您的站点,然后点击进入 KeepAliveTimeout 设置中的另一个页面(默认值为 15),则不必创建新的 TCP。这确实有助于降低开销。

            另一方面,当前与现有访问者绑定的任何 Apache 进程都将无法与新访问者对话。因此,您可能必须增加可用的 Apache 进程的总数。

            简而言之...它需要调整。

            【讨论】:

            • 感谢您的回答,但在我的网站上保持活动功能不起作用我该如何启用并且我的网站没有大量流量谢谢
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-09-07
            • 1970-01-01
            • 1970-01-01
            • 2018-07-08
            • 1970-01-01
            • 1970-01-01
            • 2023-03-07
            相关资源
            最近更新 更多