⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fd-limits.html

📁 这个是我在web培训时老师提供的手册
💻 HTML
字号:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="Apache, 中文, 手册, 中文版, 中文手册, 中文版手册, 参考手册, 中文参考手册, 金步国" />
<meta name="description" content="Apache 2.2 中文版参考手册" />
<meta name="author" content="金步国" />
<link href="../style/css/manual-zip.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-zip-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<title>文件描述符限制 - Apache 2.2 中文版参考手册</title>
</head>
<body id="manual-page" class="no-sidebar"><div id="page-header">
<p class="menu"><a href="../mod/index.html">模块索引</a> | <a href="../mod/directives.html">指令索引</a> | <a href="../faq/index.html">常见问题</a> | <a href="../glossary.html">词汇表</a> | <a href="../sitemap.html">站点导航</a></p><p class="apache">Apache HTTP Server 版本2.2</p><img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./index.html"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path"><a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../index.html">版本2.2</a> &gt; <a href="./index.html">虚拟主机</a></div>

<div id="translation-info">   <a href="../translator_announcement.html#thanks">致谢</a> | <a href="../translator_announcement.html#announcement">译者声明</a> | 本篇译者:<a href="mailto:&#099;sfr&#0097;nk&#0064;&#099;itiz&#046;n&#0101;t">金步国</a> | 本篇译稿最后更新:2006年1月17日 | <a href="../translator_announcement.html#last_new">获取最新版本</a></div>
<div id="page-content"><div id="preamble"><h1>文件描述符限制</h1>



    <p>当使用了大量虚拟主机,而且每个主机又使用了不同的日志文件时,Apache可能会遭遇文件描述符(有时也称为<cite>文件句柄</cite>)耗尽的困境。Apache使用的文件描述符总数如下:每个不同的错误日志文件一个、每个其他日志文件指令一个、再加10-20个作为内部使用。Unix操作系统限制了每个进程可以使用的文件描述符数量。典型上限是64个,但可以进行扩充,直至到达一个很大的硬件限制为止(hard-limit)。</p>

    <p>尽管Apache会试着增大限制,但如果发生以下情况,则这个机制无法起作用:</p>

    <ol>
      <li>您的操作系统没有提供<code>setrlimit()</code>系统调用。</li>

      <li><code>setrlimit(RLIMIT_NOFILE)</code>调用无法在您的系统上正常工作(比如 Solaris 2.3)</li>

      <li>文件描述符的需求量已经超出了硬件的限制。</li>
      
      <li>您的操作系统对文件描述符作出了其他限制。比如说限制了stdio流只能使用256以下的文件描述符。(Solaris 2)</li>
    </ol>

	<p>如果遇到了这样的问题,您可以这样解决:</p>

    <ul>
      <li>减少日志文件的数量。不在<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>配置段中指定日志文件,而是只在主日志文件中进行记录。(参见下述<a href="#splitlogs">分解日志文件</a>获得详情)</li>

      <li>如果您的系统因上述第1条或第2条原因不能正常工作,可以在启动Apache之前,用类似下述的脚本增大文件描述符的限制:
        <div class="example"><p><code>
          <code>#!/bin/sh<br />
           ulimit -S -n 100<br />
           exec httpd</code>
        </code></p></div>
      </li>
    </ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="splitlogs" id="splitlogs">分解日志文件</a></h2>

<p>如果您想把多个虚拟主机的日志记录到同一个日志文件中,你可能会想事后把它们分开,以对不同的虚拟主机数据进行统计分析。您可用下述方法达到这个目的。</p>

<p>首先,您需要将虚拟主机的信息放入日志中。您可以用<code class="directive"><a href="../mod/mod_log_config.html#&#10;logformat">LogFormat</a></code>指令和"<code>%v</code>"变量达到这个目的。在您的日志格式串的开头加入它们:</p>

<div class="example"><p><code>
LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost<br />
CustomLog logs/multiple_vhost_log vhost
</code></p></div>

<p>这将用日志的普通格式来创建一个日志文件。但会在每条记录前加上正式的虚拟主机名(就是在<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>指令中定义的那个)。(参见<a href="../mod/mod_log_config.html#formats">自定义日志格式</a>以获取更多内容)</p>

<p>当您想将日志文件分开(每个虚拟主机一个日志文件)的时候,您可以使用<code><a href="../programs/other.html">split-logfile</a></code>程序来完成这个工作。您将在Apache发行版的<code>support</code>目录中找到这个程序。</p>

<p>用如下命令来运行这个程序:</p>

<div class="example"><p><code>
split-logfile &lt; /logs/multiple_vhost_log
</code></p></div>

<p>当这个程序在给予一个虚拟主机日志文件作为参数的情况下,会为日志文件中的每个虚拟主机建立一个文件。每个文件都以"<code>主机名.log</code>"这样的形式命名。</p>

</div></div>
<div id="footer">
<p class="apache">本文允许自由使用、分发、转载,但必须保留译者署名;详见:<a href="../translator_announcement.html#announcement">译者声明</a>。</p>
<p class="menu"><a href="../mod/index.html">模块索引</a> | <a href="../mod/directives.html">指令索引</a> | <a href="../faq/index.html">常见问题</a> | <a href="../glossary.html">词汇表</a> | <a href="../sitemap.html">站点导航</a></p></div>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -