mod_file_cache.html.ko.euc-kr 14.5 KB
Newer Older
powelld's avatar
powelld committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head>
<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_file_cache - Apache HTTP Server Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-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" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><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/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">모듈</a></div>
<div id="page-content">
<div id="preamble"><h1>아파치 모듈 mod_file_cache</h1>
<div class="toplang">
<p><span>가능한 언어: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_file_cache.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ko/mod/mod_file_cache.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<div class="outofdate">이 문서는 최신판 번역이 아닙니다.
            최근에 변경된 내용은 영어 문서를 참고하세요.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">설명:</a></th><td>메모리에 정적 파일들을 캐쉬</td></tr>
<tr><th><a href="module-dict.html#Status">상태:</a></th><td>Experimental</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">모듈명:</a></th><td>file_cache_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">소스파일:</a></th><td>mod_file_cache.c</td></tr></table>
<h3>요약</h3>


    <div class="warning">
      이 모듈은 조심해서 사용해야 한다. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code>
      사용하여 사이트를 엉망으로 만들기 쉽기때문에 이 문서를
      꼼꼼히 읽길 바란다.
    </div>

    <p>거의 변하지 않고 자주 요청되는 파일을 <em>캐쉬</em>
    저장하여 서버 부하를 줄일 수 있다. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code>
    자주 요청되는 <em>정적</em> 파일을 두가지 방식으로 캐쉬에
    저장한다. 설정 지시어를 사용하여 <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code>
    파일을 열고(open) <code>mmap()</code>할지 아니면 파일을
    열고 <em>파일 핸들</em>을 저장할지 결정한다. 두 방식 모두
    파일을 서비스하기위해 필요한 작업의 일부를 (특히 파일 입출력
    작업) 파일을 요청할 때마다 매번 하는 대신 서버가 시작할때
    한번만 하여 서버 부하가 감소한다.</p>

    <p>주의: 이 방법은 CGI 프로그램이나 특별한 내용핸들러를
    통해 서비스하는 파일의 서비스 속도를 높일 수 없다. 이 방법은
    보통 아파치 core 내용핸들러가 서비스하는 일반파일에만
    적용된다.</p>

    <p>이 모듈은 아파치 1.3에 있는 <code>mod_mmap_static</code>
    모듈의 기능을 확장한 결과다.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>주제</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#using">mod_file_cache 사용하기</a></li>
</ul><h3 class="directives">지시어들</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#cachefile">CacheFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mmapfile">MMapFile</a></li>
</ul>
<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_file_cache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_file_cache">Report a bug</a></li></ul><h3>참고</h3>
<ul class="seealso">
<li><a href="#comments_section">Comments</a></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="using" id="using">mod_file_cache 사용하기</a></h2>

    <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code>는 주서버 설정에서 <code class="directive"><a href="#mmapfile">MMapFile</a></code><code class="directive"><a href="#cachefile">CacheFile</a></code> 지시어를 사용하여
    설정한 정적 파일들을 캐쉬에 저장한다.</p>

    <p>모든 플래폼이 두 지시어를 모두 지원하는 것은 아니다.
    예를 들어, 윈도우즈용 아파치는 현재 <code class="directive"><a href="#mmapstatic">MMapStatic</a></code> 지시어를
    지원하지 않지만, AIX 같은 다른 플래폼은 둘 모두를 지원한다.
    지원하지않는 지시어를 사용할 경우 서버 오류 로그에 오류문을
    남긴다. 지원하지않는 지시어를 사용해도 서버는 동작하지만
    파일을 캐쉬에 저장하지 않는다. 두 지시어를 모두 지원하는
    플래폼을 사용한다면 어떤 방식이 더 좋은지 실험해보라.</p>

    <h3>MMapFile 지시어</h3>

      <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code><code class="directive"><a href="#mmapfile">MMapFile</a></code> 지시어는
      설정한 정적 파일들을 <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>
    

    <h3>CacheFile 지시어</h3>

      <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code><code class="directive"><a href="#cachefile">CacheFile</a></code> 지시어는
      설정 지시어에 열거한 파일(과 파일들)을 열어서 파일의
      <em>핸들(handle)</em> 혹은 <em>파일 기술자(file descriptor)</em>
      캐쉬에 저장한다. 파일을 요청하면 서버는 캐쉬에서 핸들을
      찾아서 소켓 API <code>sendfile()</code>에 (윈도우즈에서는
      <code>TransmitFile()</code>) 넘긴다.</p>

      

      <p>서버는 시작할때와 재시작할때만 파일 핸들을 캐쉬한다.
      그래서 파일시스템에서 캐쉬한 파일중 하나라도 변경되면
      서버를 재시작<em>해야</em> 한다 (<a href="../stopping.html">중단과 재시작</a> 문서 참고).
      다시 말해서 파일이 변경되었는데 서버를 재시작하지 않으면
      완전히 이상하게 요청을 서비스할지도 모른다. 이전 파일을
      지우고(unlink) 그 자리에 새로운 파일을 만드는 방식으로
      파일을 수정해야 한다. <code>rdist</code><code>mv</code>
      같은 대다수의 도구가 이런 방식으로 동작한다.</p>
    

    <div class="note"><h3>주의</h3>
      <p>디렉토리의 모든 파일을 재귀적으로 캐쉬에 저장하는 지시어는
      없다. 대신 다음과 같이 해보라... <code class="directive"><a href="../mod/core.html#include">Include</a></code> 지시어를 참고하여 다음과
      같은 명령어를 실행한다:</p>

      <div class="example"><p><code>
        find /www/htdocs -type f -print \<br />
        | sed -e 's/.*/mmapfile &amp;/' &gt; /www/conf/mmap.conf
      </code></p></div>
    </div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CacheFile" id="CacheFile">CacheFile</a> <a name="cachefile" id="cachefile">지시어</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">설명:</a></th><td>시작시 여러 파일 핸들을 캐쉬한다</td></tr>
<tr><th><a href="directive-dict.html#Syntax">문법:</a></th><td><code>CacheFile <var>file-path</var> [<var>file-path</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">사용장소:</a></th><td>주서버설정</td></tr>
<tr><th><a href="directive-dict.html#Status">상태:</a></th><td>Experimental</td></tr>
<tr><th><a href="directive-dict.html#Module">모듈:</a></th><td>mod_file_cache</td></tr>
</table>
    <p><code class="directive">CacheFile</code> 지시어는 서버가 시작할때
    여러 파일을 열고(open) 파일들의 핸들을 캐쉬에 저장한다.
    서버 종료시 자동으로 캐쉬한 파일의 핸들을 닫는다(close).
    파일시스템에서 파일이 변경되면 파일을 다시 캐쉬하기위해
    서버를 재시작해야 한다.</p>

    <p><var>file-path</var> 아규먼트를 조심해라. 아규먼트는
    아파치의 URL-파일명 변환 핸들러가 만든 파일시스템 경로와
    정확히 일치해야 한다. 한번 더 불필요한 <code>stat()</code>
    시스템호출이 필요하기때문에 inode나 심볼링크 <em></em>
    경로를 지정할 수 없다. 이 모듈은 <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>
    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>로 재작성한 파일명을 다룰 수
    있기도 없기도 하다.</p>

    <div class="example"><h3>예제</h3><p><code>
      CacheFile /usr/local/apache/htdocs/index.html
    </code></p></div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="MMapFile" id="MMapFile">MMapFile</a> <a name="mmapfile" id="mmapfile">지시어</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">설명:</a></th><td>시작시 여러 파일을 메모리에 대응한다</td></tr>
<tr><th><a href="directive-dict.html#Syntax">문법:</a></th><td><code>MMapFile <var>file-path</var> [<var>file-path</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">사용장소:</a></th><td>주서버설정</td></tr>
<tr><th><a href="directive-dict.html#Status">상태:</a></th><td>Experimental</td></tr>
<tr><th><a href="directive-dict.html#Module">모듈:</a></th><td>mod_file_cache</td></tr>
</table>
    <p><code class="directive">MMapFile</code> 지시어는 서버가 시작할때
    (공백으로 구분한 아규먼트로 지정한) 여러 파일을 메모리에
    대응한다(map). 서버 종료시 자동으로 대응을 푼다(unmap).
    파일시스템에서 파일이 변경되면 파일들을 다시
    <code>mmap()</code>하기위해 최소한 서버에 <code>HUP</code>이나
    <code>USR1</code> 시그널을 보내야 한다.</p>

    <p><var>file-path</var> 아규먼트를 조심해라. 아규먼트는
    아파치의 URL-파일명 변환 핸들러가 만든 파일시스템 경로와
    정확히 일치해야 한다. 한번 더 불필요한 <code>stat()</code>
    시스템호출이 필요하기때문에 inode나 심볼링크 <em></em>
    경로를 지정할 수 없다. 이 모듈은 <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>
    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>로 재작성한 파일명을 다룰 수
    있기도 없기도 하다.</p>

    <div class="example"><h3>예제</h3><p><code>
      MMapFile /usr/local/apache/htdocs/index.html
    </code></p></div>

</div>
</div>
<div class="bottomlang">
<p><span>가능한 언어: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_file_cache.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ko/mod/mod_file_cache.html" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_file_cache.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2017 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>