blob: 6c23d797d4bf936cb31c0c82d0713cc259c3afe6 [file] [log] [blame]
<?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: 1.8 -->
<!--
Copyright 2004 The Apache Software Foundation
Licensed 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>¸Þ¸ð¸®¿¡ Á¤Àû ÆÄÀϵéÀ» ij½¬</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>ij½¬</em>¿¡
ÀúÀåÇÏ¿© ¼­¹ö ºÎÇϸ¦ ÁÙÀÏ ¼ö ÀÖ´Ù. <module>mod_file_cache</module>´Â
ÀÚÁÖ ¿äûµÇ´Â <em>Á¤Àû</em> ÆÄÀÏÀ» µÎ°¡Áö ¹æ½ÄÀ¸·Î ij½¬¿¡
ÀúÀåÇÑ´Ù. ¼³Á¤ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© <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> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
¼³Á¤ÇÑ Á¤Àû ÆÄÀϵéÀ» ij½¬¿¡ ÀúÀåÇÑ´Ù.</p>
<p>¸ðµç Ç÷¡ÆûÀÌ µÎ Áö½Ã¾î¸¦ ¸ðµÎ Áö¿øÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.
¿¹¸¦ µé¾î, À©µµ¿ìÁî¿ë ¾ÆÆÄÄ¡´Â ÇöÀç <directive
module="mod_file_cache">MMapStatic</directive> Áö½Ã¾î¸¦
Áö¿øÇÏÁö ¾ÊÁö¸¸, AIX °°Àº ´Ù¸¥ Ç÷¡ÆûÀº µÑ ¸ðµÎ¸¦ Áö¿øÇÑ´Ù.
Áö¿øÇÏÁö¾Ê´Â Áö½Ã¾î¸¦ »ç¿ëÇÒ °æ¿ì ¼­¹ö ¿À·ù ·Î±×¿¡ ¿À·ù¹®À»
³²±ä´Ù. Áö¿øÇÏÁö¾Ê´Â Áö½Ã¾î¸¦ »ç¿ëÇصµ ¼­¹ö´Â µ¿ÀÛÇÏÁö¸¸
ÆÄÀÏÀ» ij½¬¿¡ ÀúÀåÇÏÁö ¾Ê´Â´Ù. µÎ Áö½Ã¾î¸¦ ¸ðµÎ Áö¿øÇÏ´Â
Ç÷¡ÆûÀ» »ç¿ëÇÑ´Ù¸é ¾î¶² ¹æ½ÄÀÌ ´õ ÁÁÀºÁö ½ÇÇèÇغ¸¶ó.</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>¸¦
ij½¬¿¡ ÀúÀåÇÑ´Ù. ÆÄÀÏÀ» ¿äûÇÏ¸é ¼­¹ö´Â ij½¬¿¡¼­ ÇÚµéÀ»
ã¾Æ¼­ ¼ÒÄÏ API <code>sendfile()</code>¿¡ (À©µµ¿ìÁî¿¡¼­´Â
<code>TransmitFile()</code>) ³Ñ±ä´Ù.</p>
<!-- XXX
<p>Insert more details about sendfile API...</p>
-->
<p>¼­¹ö´Â ½ÃÀÛÇÒ¶§¿Í Àç½ÃÀÛÇÒ¶§¸¸ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù.
±×·¡¼­ ÆÄÀϽýºÅÛ¿¡¼­ ij½¬ÇÑ ÆÄÀÏÁß Çϳª¶óµµ º¯°æµÇ¸é
¼­¹ö¸¦ Àç½ÃÀÛ<em>Çؾß</em> ÇÑ´Ù (<a
href="../stopping.html">Áß´Ü°ú Àç½ÃÀÛ</a> ¹®¼­ Âü°í).
´Ù½Ã ¸»Çؼ­ ÆÄÀÏÀÌ º¯°æµÇ¾ú´Âµ¥ ¼­¹ö¸¦ Àç½ÃÀÛÇÏÁö ¾ÊÀ¸¸é
¿ÏÀüÈ÷ ÀÌ»óÇÏ°Ô ¿äûÀ» ¼­ºñ½ºÇÒÁöµµ ¸ð¸¥´Ù. ÀÌÀü ÆÄÀÏÀ»
Áö¿ì°í(unlink) ±× ÀÚ¸®¿¡ »õ·Î¿î ÆÄÀÏÀ» ¸¸µå´Â ¹æ½ÄÀ¸·Î
ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. <code>rdist</code>³ª <code>mv</code>¿Í
°°Àº ´ë´Ù¼öÀÇ µµ±¸°¡ ÀÌ·± ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù.</p>
</section>
<note><title>ÁÖÀÇ</title>
<p>µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀÏÀ» Àç±ÍÀûÀ¸·Î ij½¬¿¡ ÀúÀåÇÏ´Â Áö½Ã¾î´Â
¾ø´Ù. ´ë½Å ´ÙÀ½°ú °°ÀÌ Çغ¸¶ó... <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>½ÃÀ۽à ¿©·¯ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù</description>
<syntax>CacheFile <var>file-path</var> [<var>file-path</var>] ...</syntax>
<contextlist><context>server config</context></contextlist>
<usage>
<p><directive>CacheFile</directive> Áö½Ã¾î´Â ¼­¹ö°¡ ½ÃÀÛÇÒ¶§
¿©·¯ ÆÄÀÏÀ» ¿­°í(open) ÆÄÀϵéÀÇ ÇÚµéÀ» ij½¬¿¡ ÀúÀåÇÑ´Ù.
¼­¹ö Á¾·á½Ã ÀÚµ¿À¸·Î ij½¬ÇÑ ÆÄÀÏÀÇ ÇÚµéÀ» ´Ý´Â´Ù(close).
ÆÄÀϽýºÅÛ¿¡¼­ ÆÄÀÏÀÌ º¯°æµÇ¸é ÆÄÀÏÀ» ´Ù½Ã ij½¬ÇϱâÀ§ÇØ
¼­¹ö¸¦ Àç½ÃÀÛÇØ¾ß ÇÑ´Ù.</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>