Apache HTTP Server Version 2.4

| ¼³¸í: | ¸Þ¸ð¸®¿¡ Á¤Àû ÆÄÀϵéÀ» ij½¬ | 
|---|---|
| »óÅÂ: | Experimental | 
| ¸ðµâ¸í: | file_cache_module | 
| ¼Ò½ºÆÄÀÏ: | mod_file_cache.c | 
mod_file_cache¸¦
      »ç¿ëÇÏ¿© »çÀÌÆ®¸¦ ¾û¸ÁÀ¸·Î ¸¸µé±â ½±±â¶§¹®¿¡ ÀÌ ¹®¼¸¦
      ²Ä²ÄÈ÷ ÀÐ±æ ¹Ù¶õ´Ù.
    °ÅÀÇ º¯ÇÏÁö ¾Ê°í ÀÚÁÖ ¿äûµÇ´Â ÆÄÀÏÀ» ij½¬¿¡
    ÀúÀåÇÏ¿© ¼¹ö ºÎÇϸ¦ ÁÙÀÏ ¼ö ÀÖ´Ù. mod_file_cache´Â
    ÀÚÁÖ ¿äûµÇ´Â Á¤Àû ÆÄÀÏÀ» µÎ°¡Áö ¹æ½ÄÀ¸·Î ij½¬¿¡
    ÀúÀåÇÑ´Ù. ¼³Á¤ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© mod_file_cache°¡
    ÆÄÀÏÀ» ¿°í(open) mmap()ÇÒÁö ¾Æ´Ï¸é ÆÄÀÏÀ»
    ¿°í ÆÄÀÏ ÇÚµéÀ» ÀúÀåÇÒÁö °áÁ¤ÇÑ´Ù. µÎ ¹æ½Ä ¸ðµÎ
    ÆÄÀÏÀ» ¼ºñ½ºÇϱâÀ§ÇØ ÇÊ¿äÇÑ ÀÛ¾÷ÀÇ ÀϺθ¦ (ƯÈ÷ ÆÄÀÏ ÀÔÃâ·Â
    ÀÛ¾÷) ÆÄÀÏÀ» ¿äûÇÒ ¶§¸¶´Ù ¸Å¹ø ÇÏ´Â ´ë½Å ¼¹ö°¡ ½ÃÀÛÇÒ¶§
    Çѹø¸¸ ÇÏ¿© ¼¹ö ºÎÇϰ¡ °¨¼ÒÇÑ´Ù.
ÁÖÀÇ: ÀÌ ¹æ¹ýÀº CGI ÇÁ·Î±×·¥À̳ª Ưº°ÇÑ ³»¿ëÇڵ鷯¸¦ ÅëÇØ ¼ºñ½ºÇÏ´Â ÆÄÀÏÀÇ ¼ºñ½º ¼Óµµ¸¦ ³ôÀÏ ¼ö ¾ø´Ù. ÀÌ ¹æ¹ýÀº º¸Åë ¾ÆÆÄÄ¡ core ³»¿ëÇڵ鷯°¡ ¼ºñ½ºÇÏ´Â ÀÏ¹ÝÆÄÀÏ¿¡¸¸ Àû¿ëµÈ´Ù.
ÀÌ ¸ðµâÀº ¾ÆÆÄÄ¡ 1.3¿¡ ÀÖ´Â mod_mmap_static
    ¸ðµâÀÇ ±â´ÉÀ» È®ÀåÇÑ °á°ú´Ù.
mod_file_cache´Â ÁÖ¼¹ö ¼³Á¤¿¡¼ MMapFile°ú CacheFile Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
    ¼³Á¤ÇÑ Á¤Àû ÆÄÀϵéÀ» ij½¬¿¡ ÀúÀåÇÑ´Ù.
¸ðµç Ç÷¡ÆûÀÌ µÎ Áö½Ã¾î¸¦ ¸ðµÎ Áö¿øÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.
    ¿¹¸¦ µé¾î, À©µµ¿ìÁî¿ë ¾ÆÆÄÄ¡´Â ÇöÀç MMapStatic Áö½Ã¾î¸¦
    Áö¿øÇÏÁö ¾ÊÁö¸¸, AIX °°Àº ´Ù¸¥ Ç÷¡ÆûÀº µÑ ¸ðµÎ¸¦ Áö¿øÇÑ´Ù.
    Áö¿øÇÏÁö¾Ê´Â Áö½Ã¾î¸¦ »ç¿ëÇÒ °æ¿ì ¼¹ö ¿À·ù ·Î±×¿¡ ¿À·ù¹®À»
    ³²±ä´Ù. Áö¿øÇÏÁö¾Ê´Â Áö½Ã¾î¸¦ »ç¿ëÇØµµ ¼¹ö´Â µ¿ÀÛÇÏÁö¸¸
    ÆÄÀÏÀ» ij½¬¿¡ ÀúÀåÇÏÁö ¾Ê´Â´Ù. µÎ Áö½Ã¾î¸¦ ¸ðµÎ Áö¿øÇÏ´Â
    Ç÷¡ÆûÀ» »ç¿ëÇÑ´Ù¸é ¾î¶² ¹æ½ÄÀÌ ´õ ÁÁÀºÁö ½ÇÇèÇØº¸¶ó.
mod_file_cacheÀÇ MMapFile Áö½Ã¾î´Â
      ¼³Á¤ÇÑ Á¤Àû ÆÄÀϵéÀ» mmap() ½Ã½ºÅÛÈ£ÃâÀ»
      »ç¿ëÇÏ¿© ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù. ÃֽŠÀ¯´Ð½º·ù ¿î¿µÃ¼Á¦¶ó¸é
      º¸Åë ÀÌ ½Ã½ºÅÛÈ£ÃâÀÌ ÀÖÁö¸¸, ¾ø´Â ¿î¿µÃ¼Á¦µµ ÀÖ´Ù. ¶Ç,
      mmap()ÇÒ ¼ö ÀÖ´Â ÆÄÀÏ Å©±â¿Í °³¼ö¸¦ ½Ã½ºÅÛÀÌ
      Á¦ÇÑÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¹Ì¸® ½ÇÇèÇØº¸´Â °ÍÀÌ ÁÁ´Ù.
¼¹ö´Â ½ÃÀÛÇÒ¶§¿Í Àç½ÃÀÛÇÒ¶§¸¸ mmap()ÇÑ´Ù.
      ±×·¡¼ ÆÄÀϽýºÅÛ¿¡¼ ÇØ´ç ÆÄÀÏÁß Çϳª¶óµµ º¯°æµÇ¸é ¼¹ö¸¦
      Àç½ÃÀÛÇØ¾ß ÇÑ´Ù (Áߴܰú
      Àç½ÃÀÛ ¹®¼ Âü°í). ´Ù½Ã ¸»Çؼ ÆÄÀÏÀÌ º¯°æµÇ¾ú´Âµ¥
      ¼¹ö¸¦ Àç½ÃÀÛÇÏÁö ¾ÊÀ¸¸é ¿ÏÀüÈ÷ ÀÌ»óÇÏ°Ô ¿äûÀ» ¼ºñ½ºÇÒÁöµµ
      ¸ð¸¥´Ù. ÀÌÀü ÆÄÀÏÀ» Áö¿ì°í(unlink) ±× ÀÚ¸®¿¡ »õ·Î¿î ÆÄÀÏÀ»
      ¸¸µé´Â ¹æ½ÄÀ¸·Î ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. rdist³ª
      mv¿Í °°Àº ´ë´Ù¼öÀÇ µµ±¸°¡ ÀÌ·± ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù.
      ¸Å¹ø Ãß°¡·Î ºÒÇÊ¿äÇÑ stat() °Ë»ç°¡ ÇÊ¿äÇϰí
      ÀÔÃâ·Â °¨¼Ò¶ó´Â ¿ø·¡ Àǵµ¿¡ ¹ÝÇϱ⶧¹®¿¡ ÀÌ ¸ðµâÀº ÆÄÀÏÀÇ
      º¯È¸¦ ¹«½ÃÇÑ´Ù.
mod_file_cacheÀÇ CacheFile Áö½Ã¾î´Â
      ¼³Á¤ Áö½Ã¾î¿¡ ¿°ÅÇÑ ÆÄÀÏ(°ú ÆÄÀϵé)À» ¿¾î¼ ÆÄÀÏÀÇ
      ÇÚµé(handle) ȤÀº ÆÄÀÏ ±â¼úÀÚ(file descriptor)¸¦
      ij½¬¿¡ ÀúÀåÇÑ´Ù. ÆÄÀÏÀ» ¿äûÇÏ¸é ¼¹ö´Â ij½¬¿¡¼ ÇÚµéÀ»
      ã¾Æ¼ ¼ÒÄÏ API sendfile()¿¡ (À©µµ¿ìÁî¿¡¼´Â
      TransmitFile()) ³Ñ±ä´Ù.
¼¹ö´Â ½ÃÀÛÇÒ¶§¿Í Àç½ÃÀÛÇÒ¶§¸¸ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù.
      ±×·¡¼ ÆÄÀϽýºÅÛ¿¡¼ ij½¬ÇÑ ÆÄÀÏÁß Çϳª¶óµµ º¯°æµÇ¸é
      ¼¹ö¸¦ Àç½ÃÀÛÇØ¾ß ÇÑ´Ù (Áߴܰú Àç½ÃÀÛ ¹®¼ Âü°í).
      ´Ù½Ã ¸»Çؼ ÆÄÀÏÀÌ º¯°æµÇ¾ú´Âµ¥ ¼¹ö¸¦ Àç½ÃÀÛÇÏÁö ¾ÊÀ¸¸é
      ¿ÏÀüÈ÷ ÀÌ»óÇÏ°Ô ¿äûÀ» ¼ºñ½ºÇÒÁöµµ ¸ð¸¥´Ù. ÀÌÀü ÆÄÀÏÀ»
      Áö¿ì°í(unlink) ±× ÀÚ¸®¿¡ »õ·Î¿î ÆÄÀÏÀ» ¸¸µå´Â ¹æ½ÄÀ¸·Î
      ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. rdist³ª mv¿Í
      °°Àº ´ë´Ù¼öÀÇ µµ±¸°¡ ÀÌ·± ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù.
µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀÏÀ» Àç±ÍÀûÀ¸·Î ij½¬¿¡ ÀúÀåÇÏ´Â Áö½Ã¾î´Â
      ¾ø´Ù. ´ë½Å ´ÙÀ½°ú °°ÀÌ ÇØº¸¶ó... Include Áö½Ã¾î¸¦ Âü°íÇÏ¿© ´ÙÀ½°ú
      °°Àº ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù:
        find /www/htdocs -type f -print \
        | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
      
| ¼³¸í: | ½ÃÀ۽à ¿©·¯ ÆÄÀÏ ÇÚµéÀ» ij½¬ÇÑ´Ù | 
|---|---|
| ¹®¹ý: | CacheFile file-path [file-path] ... | 
| »ç¿ëÀå¼Ò: | ÁÖ¼¹ö¼³Á¤ | 
| »óÅÂ: | Experimental | 
| ¸ðµâ: | mod_file_cache | 
CacheFile Áö½Ã¾î´Â ¼¹ö°¡ ½ÃÀÛÇÒ¶§
    ¿©·¯ ÆÄÀÏÀ» ¿°í(open) ÆÄÀϵéÀÇ ÇÚµéÀ» ij½¬¿¡ ÀúÀåÇÑ´Ù.
    ¼¹ö Á¾·á½Ã ÀÚµ¿À¸·Î ij½¬ÇÑ ÆÄÀÏÀÇ ÇÚµéÀ» ´Ý´Â´Ù(close).
    ÆÄÀϽýºÅÛ¿¡¼ ÆÄÀÏÀÌ º¯°æµÇ¸é ÆÄÀÏÀ» ´Ù½Ã ij½¬ÇϱâÀ§ÇØ
    ¼¹ö¸¦ Àç½ÃÀÛÇØ¾ß ÇÑ´Ù.
file-path ¾Æ±Ô¸ÕÆ®¸¦ Á¶½ÉÇØ¶ó. ¾Æ±Ô¸ÕÆ®´Â
    ¾ÆÆÄÄ¡ÀÇ URL-ÆÄÀÏ¸í º¯È¯ Çڵ鷯°¡ ¸¸µç ÆÄÀϽýºÅÛ °æ·Î¿Í
    Á¤È®È÷ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. Çѹø ´õ ºÒÇÊ¿äÇÑ stat()
    ½Ã½ºÅÛÈ£ÃâÀÌ ÇÊ¿äÇϱ⶧¹®¿¡ inode³ª ½Éº¼¸µÅ© µîÀ»
    °æ·Î¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ÀÌ ¸ðµâÀº mod_alias³ª
    mod_rewrite·Î ÀçÀÛ¼ºÇÑ ÆÄÀϸíÀ» ´Ù·ê ¼ö
    Àֱ⵵ ¾ø±âµµ ÇÏ´Ù.
      CacheFile /usr/local/apache/htdocs/index.html
    
| ¼³¸í: | ½ÃÀ۽à ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ´ëÀÀÇÑ´Ù | 
|---|---|
| ¹®¹ý: | MMapFile file-path [file-path] ... | 
| »ç¿ëÀå¼Ò: | ÁÖ¼¹ö¼³Á¤ | 
| »óÅÂ: | Experimental | 
| ¸ðµâ: | mod_file_cache | 
MMapFile Áö½Ã¾î´Â ¼¹ö°¡ ½ÃÀÛÇÒ¶§
    (°ø¹éÀ¸·Î ±¸ºÐÇÑ ¾Æ±Ô¸ÕÆ®·Î ÁöÁ¤ÇÑ) ¿©·¯ ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡
    ´ëÀÀÇÑ´Ù(map). ¼¹ö Á¾·á½Ã ÀÚµ¿À¸·Î ´ëÀÀÀ» Ǭ´Ù(unmap).
    ÆÄÀϽýºÅÛ¿¡¼ ÆÄÀÏÀÌ º¯°æµÇ¸é ÆÄÀϵéÀ» ´Ù½Ã
    mmap()ÇϱâÀ§ÇØ ÃÖ¼ÒÇÑ ¼¹ö¿¡ HUPÀ̳ª
    USR1 ½Ã±×³ÎÀ» º¸³»¾ß ÇÑ´Ù.
file-path ¾Æ±Ô¸ÕÆ®¸¦ Á¶½ÉÇØ¶ó. ¾Æ±Ô¸ÕÆ®´Â
    ¾ÆÆÄÄ¡ÀÇ URL-ÆÄÀÏ¸í º¯È¯ Çڵ鷯°¡ ¸¸µç ÆÄÀϽýºÅÛ °æ·Î¿Í
    Á¤È®È÷ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. Çѹø ´õ ºÒÇÊ¿äÇÑ stat()
    ½Ã½ºÅÛÈ£ÃâÀÌ ÇÊ¿äÇϱ⶧¹®¿¡ inode³ª ½Éº¼¸µÅ© µîÀ»
    °æ·Î¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ÀÌ ¸ðµâÀº mod_alias³ª
    mod_rewrite·Î ÀçÀÛ¼ºÇÑ ÆÄÀϸíÀ» ´Ù·ê ¼ö
    Àֱ⵵ ¾ø±âµµ ÇÏ´Ù.
      MMapFile /usr/local/apache/htdocs/index.html