<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
<!-- English Revision: 421174 -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<modulesynopsis metafile="mod_file_cache.xml.meta">

<name>mod_file_cache</name>
<description>¸Þ¸ð¸®¿¡ Á¤Àû ÆÄÀÏµéÀ» Ä³½¬</description>
<status>Experimental</status>
<sourcefile>mod_file_cache.c</sourcefile>
<identifier>file_cache_module</identifier>

<summary>

    <note type="warning">
      ÀÌ ¸ðµâÀº Á¶½ÉÇØ¼­ »ç¿ëÇØ¾ß ÇÑ´Ù. <module>mod_file_cache</module>¸¦
      »ç¿ëÇÏ¿© »çÀÌÆ®¸¦ ¾û¸ÁÀ¸·Î ¸¸µé±â ½±±â¶§¹®¿¡ ÀÌ ¹®¼­¸¦
      ²Ä²ÄÈ÷ ÀÐ±æ ¹Ù¶õ´Ù.
    </note>

    <p>°ÅÀÇ º¯ÇÏÁö ¾Ê°í ÀÚÁÖ ¿äÃ»µÇ´Â ÆÄÀÏÀ» <em>Ä³½¬</em>¿¡
    ÀúÀåÇÏ¿© ¼­¹ö ºÎÇÏ¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù. <module>mod_file_cache</module>´Â
    ÀÚÁÖ ¿äÃ»µÇ´Â <em>Á¤Àû</em> ÆÄÀÏÀ» µÎ°¡Áö ¹æ½ÄÀ¸·Î Ä³½¬¿¡
    ÀúÀåÇÑ´Ù. ¼³Á¤ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© <module>mod_file_cache</module>°¡
    ÆÄÀÏÀ» ¿­°í(open) <code>mmap()</code>ÇÒÁö ¾Æ´Ï¸é ÆÄÀÏÀ»
    ¿­°í <em>ÆÄÀÏ ÇÚµé</em>À» ÀúÀåÇÒÁö °áÁ¤ÇÑ´Ù. µÎ ¹æ½Ä ¸ðµÎ
    ÆÄÀÏÀ» ¼­ºñ½ºÇÏ±âÀ§ÇØ ÇÊ¿äÇÑ ÀÛ¾÷ÀÇ ÀÏºÎ¸¦ (Æ¯È÷ ÆÄÀÏ ÀÔÃâ·Â
    ÀÛ¾÷) ÆÄÀÏÀ» ¿äÃ»ÇÒ ¶§¸¶´Ù ¸Å¹ø ÇÏ´Â ´ë½Å ¼­¹ö°¡ ½ÃÀÛÇÒ¶§
    ÇÑ¹ø¸¸ ÇÏ¿© ¼­¹ö ºÎÇÏ°¡ °¨¼ÒÇÑ´Ù.</p>

    <p>ÁÖÀÇ: ÀÌ ¹æ¹ýÀº CGI ÇÁ·Î±×·¥ÀÌ³ª Æ¯º°ÇÑ ³»¿ëÇÚµé·¯¸¦
    ÅëÇØ ¼­ºñ½ºÇÏ´Â ÆÄÀÏÀÇ ¼­ºñ½º ¼Óµµ¸¦ ³ôÀÏ ¼ö ¾ø´Ù. ÀÌ ¹æ¹ýÀº
    º¸Åë ¾ÆÆÄÄ¡ core ³»¿ëÇÚµé·¯°¡ ¼­ºñ½ºÇÏ´Â ÀÏ¹ÝÆÄÀÏ¿¡¸¸
    Àû¿ëµÈ´Ù.</p>

    <p>ÀÌ ¸ðµâÀº ¾ÆÆÄÄ¡ 1.3¿¡ ÀÖ´Â <code>mod_mmap_static</code>
    ¸ðµâÀÇ ±â´ÉÀ» È®ÀåÇÑ °á°ú´Ù.</p>
</summary>

<section id="using"><title>mod_file_cache »ç¿ëÇÏ±â</title>

    <p><module>mod_file_cache</module>´Â ÁÖ¼­¹ö ¼³Á¤¿¡¼­ <directive
    module="mod_file_cache">MMapFile</directive>°ú <directive
    module="mod_file_cache">CacheFile</directive> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
    ¼³Á¤ÇÑ Á¤Àû ÆÄÀÏµéÀ» Ä³½¬¿¡ ÀúÀåÇÑ´Ù.</p>

    <p>¸ðµç ÇÃ·¡ÆûÀÌ µÎ Áö½Ã¾î¸¦ ¸ðµÎ Áö¿øÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.
    ¿¹¸¦ µé¾î, À©µµ¿ìÁî¿ë ¾ÆÆÄÄ¡´Â ÇöÀç <directive
    module="mod_file_cache">MMapStatic</directive> Áö½Ã¾î¸¦
    Áö¿øÇÏÁö ¾ÊÁö¸¸, AIX °°Àº ´Ù¸¥ ÇÃ·¡ÆûÀº µÑ ¸ðµÎ¸¦ Áö¿øÇÑ´Ù.
    Áö¿øÇÏÁö¾Ê´Â Áö½Ã¾î¸¦ »ç¿ëÇÒ °æ¿ì ¼­¹ö ¿À·ù ·Î±×¿¡ ¿À·ù¹®À»
    ³²±ä´Ù. Áö¿øÇÏÁö¾Ê´Â Áö½Ã¾î¸¦ »ç¿ëÇØµµ ¼­¹ö´Â µ¿ÀÛÇÏÁö¸¸
    ÆÄÀÏÀ» Ä³½¬¿¡ ÀúÀåÇÏÁö ¾Ê´Â´Ù. µÎ Áö½Ã¾î¸¦ ¸ðµÎ Áö¿øÇÏ´Â
    ÇÃ·¡ÆûÀ» »ç¿ëÇÑ´Ù¸é ¾î¶² ¹æ½ÄÀÌ ´õ ÁÁÀºÁö ½ÇÇèÇØº¸¶ó.</p>

    <section><title>MMapFile Áö½Ã¾î</title>

      <p><module>mod_file_cache</module>ÀÇ <directive
      module="mod_file_cache">MMapFile</directive> Áö½Ã¾î´Â
      ¼³Á¤ÇÑ Á¤Àû ÆÄÀÏµéÀ» <code>mmap()</code> ½Ã½ºÅÛÈ£ÃâÀ»
      »ç¿ëÇÏ¿© ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù. ÃÖ½Å À¯´Ð½º·ù ¿î¿µÃ¼Á¦¶ó¸é
      º¸Åë ÀÌ ½Ã½ºÅÛÈ£ÃâÀÌ ÀÖÁö¸¸, ¾ø´Â ¿î¿µÃ¼Á¦µµ ÀÖ´Ù. ¶Ç,
      <code>mmap()</code>ÇÒ ¼ö ÀÖ´Â ÆÄÀÏ Å©±â¿Í °³¼ö¸¦ ½Ã½ºÅÛÀÌ
      Á¦ÇÑÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¹Ì¸® ½ÇÇèÇØº¸´Â °ÍÀÌ ÁÁ´Ù.</p>

      <p>¼­¹ö´Â ½ÃÀÛÇÒ¶§¿Í Àç½ÃÀÛÇÒ¶§¸¸ <code>mmap()</code>ÇÑ´Ù.
      ±×·¡¼­ ÆÄÀÏ½Ã½ºÅÛ¿¡¼­ ÇØ´ç ÆÄÀÏÁß ÇÏ³ª¶óµµ º¯°æµÇ¸é ¼­¹ö¸¦
      Àç½ÃÀÛ<em>ÇØ¾ß</em> ÇÑ´Ù (<a href="../stopping.html">Áß´Ü°ú
      Àç½ÃÀÛ</a> ¹®¼­ Âü°í). ´Ù½Ã ¸»ÇØ¼­ ÆÄÀÏÀÌ º¯°æµÇ¾ú´Âµ¥
      ¼­¹ö¸¦ Àç½ÃÀÛÇÏÁö ¾ÊÀ¸¸é ¿ÏÀüÈ÷ ÀÌ»óÇÏ°Ô ¿äÃ»À» ¼­ºñ½ºÇÒÁöµµ
      ¸ð¸¥´Ù. ÀÌÀü ÆÄÀÏÀ» Áö¿ì°í(unlink) ±× ÀÚ¸®¿¡ »õ·Î¿î ÆÄÀÏÀ»
      ¸¸µé´Â ¹æ½ÄÀ¸·Î ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. <code>rdist</code>³ª
      <code>mv</code>¿Í °°Àº ´ë´Ù¼öÀÇ µµ±¸°¡ ÀÌ·± ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù.
      ¸Å¹ø Ãß°¡·Î ºÒÇÊ¿äÇÑ <code>stat()</code> °Ë»ç°¡ ÇÊ¿äÇÏ°í
      ÀÔÃâ·Â °¨¼Ò¶ó´Â ¿ø·¡ ÀÇµµ¿¡ ¹ÝÇÏ±â¶§¹®¿¡ ÀÌ ¸ðµâÀº ÆÄÀÏÀÇ
      º¯È­¸¦ ¹«½ÃÇÑ´Ù.</p>
    </section>

    <section><title>CacheFile Áö½Ã¾î</title>

      <p><module>mod_file_cache</module>ÀÇ <directive
      module="mod_file_cache">CacheFile</directive> Áö½Ã¾î´Â
      ¼³Á¤ Áö½Ã¾î¿¡ ¿­°ÅÇÑ ÆÄÀÏ(°ú ÆÄÀÏµé)À» ¿­¾î¼­ ÆÄÀÏÀÇ
      <em>ÇÚµé(handle)</em> È¤Àº <em>ÆÄÀÏ ±â¼úÀÚ(file descriptor)</em>¸¦
      Ä³½¬¿¡ ÀúÀåÇÑ´Ù. ÆÄÀÏÀ» ¿äÃ»ÇÏ¸é ¼­¹ö´Â Ä³½¬¿¡¼­ ÇÚµéÀ»
      Ã£¾Æ¼­ ¼ÒÄÏ API <code>sendfile()</code>¿¡ (À©µµ¿ìÁî¿¡¼­´Â
      <code>TransmitFile()</code>) ³Ñ±ä´Ù.</p>

      <!-- XXX
      <p>Insert more details about sendfile API...</p>
      -->

      <p>¼­¹ö´Â ½ÃÀÛÇÒ¶§¿Í Àç½ÃÀÛÇÒ¶§¸¸ ÆÄÀÏ ÇÚµéÀ» Ä³½¬ÇÑ´Ù.
      ±×·¡¼­ ÆÄÀÏ½Ã½ºÅÛ¿¡¼­ Ä³½¬ÇÑ ÆÄÀÏÁß ÇÏ³ª¶óµµ º¯°æµÇ¸é
      ¼­¹ö¸¦ Àç½ÃÀÛ<em>ÇØ¾ß</em> ÇÑ´Ù (<a
      href="../stopping.html">Áß´Ü°ú Àç½ÃÀÛ</a> ¹®¼­ Âü°í).
      ´Ù½Ã ¸»ÇØ¼­ ÆÄÀÏÀÌ º¯°æµÇ¾ú´Âµ¥ ¼­¹ö¸¦ Àç½ÃÀÛÇÏÁö ¾ÊÀ¸¸é
      ¿ÏÀüÈ÷ ÀÌ»óÇÏ°Ô ¿äÃ»À» ¼­ºñ½ºÇÒÁöµµ ¸ð¸¥´Ù. ÀÌÀü ÆÄÀÏÀ»
      Áö¿ì°í(unlink) ±× ÀÚ¸®¿¡ »õ·Î¿î ÆÄÀÏÀ» ¸¸µå´Â ¹æ½ÄÀ¸·Î
      ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. <code>rdist</code>³ª <code>mv</code>¿Í
      °°Àº ´ë´Ù¼öÀÇ µµ±¸°¡ ÀÌ·± ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù.</p>
    </section>

    <note><title>ÁÖÀÇ</title>
      <p>µð·ºÅä¸®ÀÇ ¸ðµç ÆÄÀÏÀ» Àç±ÍÀûÀ¸·Î Ä³½¬¿¡ ÀúÀåÇÏ´Â Áö½Ã¾î´Â
      ¾ø´Ù. ´ë½Å ´ÙÀ½°ú °°ÀÌ ÇØº¸¶ó... <directive
      module="core">Include</directive> Áö½Ã¾î¸¦ Âü°íÇÏ¿© ´ÙÀ½°ú
      °°Àº ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù:</p>

      <example>
        find /www/htdocs -type f -print \<br />
        | sed -e 's/.*/mmapfile &amp;/' &gt; /www/conf/mmap.conf
      </example>
    </note>
</section>

<directivesynopsis>
<name>MMapFile</name>
<description>½ÃÀÛ½Ã ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù</description>
<syntax>MMapFile <var>file-path</var> [<var>file-path</var>] ...</syntax>
<contextlist><context>server config</context></contextlist>

<usage>
    <p><directive>MMapFile</directive> Áö½Ã¾î´Â ¼­¹ö°¡ ½ÃÀÛÇÒ¶§
    (°ø¹éÀ¸·Î ±¸ºÐÇÑ ¾Æ±Ô¸ÕÆ®·Î ÁöÁ¤ÇÑ) ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡
    ´ëÀÀÇÑ´Ù(map). ¼­¹ö Á¾·á½Ã ÀÚµ¿À¸·Î ´ëÀÀÀ» Ç¬´Ù(unmap).
    ÆÄÀÏ½Ã½ºÅÛ¿¡¼­ ÆÄÀÏÀÌ º¯°æµÇ¸é ÆÄÀÏµéÀ» ´Ù½Ã
    <code>mmap()</code>ÇÏ±âÀ§ÇØ ÃÖ¼ÒÇÑ ¼­¹ö¿¡ <code>HUP</code>ÀÌ³ª
    <code>USR1</code> ½Ã±×³ÎÀ» º¸³»¾ß ÇÑ´Ù.</p>

    <p><var>file-path</var> ¾Æ±Ô¸ÕÆ®¸¦ Á¶½ÉÇØ¶ó. ¾Æ±Ô¸ÕÆ®´Â
    ¾ÆÆÄÄ¡ÀÇ URL-ÆÄÀÏ¸í º¯È¯ ÇÚµé·¯°¡ ¸¸µç ÆÄÀÏ½Ã½ºÅÛ °æ·Î¿Í
    Á¤È®È÷ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. ÇÑ¹ø ´õ ºÒÇÊ¿äÇÑ <code>stat()</code>
    ½Ã½ºÅÛÈ£ÃâÀÌ ÇÊ¿äÇÏ±â¶§¹®¿¡ inode³ª ½Éº¼¸µÅ© <em>µî</em>À»
    °æ·Î¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ÀÌ ¸ðµâÀº <module>mod_alias</module>³ª
    <module>mod_rewrite</module>·Î ÀçÀÛ¼ºÇÑ ÆÄÀÏ¸íÀ» ´Ù·ê ¼ö
    ÀÖ±âµµ ¾ø±âµµ ÇÏ´Ù.</p>

    <example><title>¿¹Á¦</title>
      MMapFile /usr/local/apache/htdocs/index.html
    </example>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>CacheFile</name>
<description>½ÃÀÛ½Ã ¿©·¯ ÆÄÀÏ ÇÚµéÀ» Ä³½¬ÇÑ´Ù</description>
<syntax>CacheFile <var>file-path</var> [<var>file-path</var>] ...</syntax>
<contextlist><context>server config</context></contextlist>

<usage>
    <p><directive>CacheFile</directive> Áö½Ã¾î´Â ¼­¹ö°¡ ½ÃÀÛÇÒ¶§
    ¿©·¯ ÆÄÀÏÀ» ¿­°í(open) ÆÄÀÏµéÀÇ ÇÚµéÀ» Ä³½¬¿¡ ÀúÀåÇÑ´Ù.
    ¼­¹ö Á¾·á½Ã ÀÚµ¿À¸·Î Ä³½¬ÇÑ ÆÄÀÏÀÇ ÇÚµéÀ» ´Ý´Â´Ù(close).
    ÆÄÀÏ½Ã½ºÅÛ¿¡¼­ ÆÄÀÏÀÌ º¯°æµÇ¸é ÆÄÀÏÀ» ´Ù½Ã Ä³½¬ÇÏ±âÀ§ÇØ
    ¼­¹ö¸¦ Àç½ÃÀÛÇØ¾ß ÇÑ´Ù.</p>

    <p><var>file-path</var> ¾Æ±Ô¸ÕÆ®¸¦ Á¶½ÉÇØ¶ó. ¾Æ±Ô¸ÕÆ®´Â
    ¾ÆÆÄÄ¡ÀÇ URL-ÆÄÀÏ¸í º¯È¯ ÇÚµé·¯°¡ ¸¸µç ÆÄÀÏ½Ã½ºÅÛ °æ·Î¿Í
    Á¤È®È÷ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. ÇÑ¹ø ´õ ºÒÇÊ¿äÇÑ <code>stat()</code>
    ½Ã½ºÅÛÈ£ÃâÀÌ ÇÊ¿äÇÏ±â¶§¹®¿¡ inode³ª ½Éº¼¸µÅ© <em>µî</em>À»
    °æ·Î¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ÀÌ ¸ðµâÀº <module>mod_alias</module>³ª
    <module>mod_rewrite</module>·Î ÀçÀÛ¼ºÇÑ ÆÄÀÏ¸íÀ» ´Ù·ê ¼ö
    ÀÖ±âµµ ¾ø±âµµ ÇÏ´Ù.</p>

    <example><title>¿¹Á¦</title>
      CacheFile /usr/local/apache/htdocs/index.html
    </example>
</usage>
</directivesynopsis>

</modulesynopsis>
