Apache HTTP Server Version 2.2
This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.
You may follow this link to go to the current version of this document.
¼³¸í: | ¸Þ¸ð¸®¿¡ Á¤Àû ÆÄÀϵéÀ» 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