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
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_file_cache - Serveur Apache HTTP Version 2.5</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/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_file_cache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_file_cache.html" title="Fran�ais"> fr </a> |
<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Mise en cache m�moire d'une liste statique de
fichiers</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Exp�rimental</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>file_cache_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_file_cache.c</td></tr></table>
<h3>Sommaire</h3>
<div class="warning">
Ce module doit �tre utilis� avec pr�cautions. Il est recommand� de
lire attentivement ce document, car une mauvaise utilisation de
<code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> peut facilement conduire � la
cr�ation d'un site inop�rant.
</div>
<p>La mise en cache de fichiers souvent demand�s mais rarement
modifi�s est une technique qui peut r�duire la charge du
serveur. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> met en oeuvre deux
techniques de mise en cache de fichiers <em>statiques</em>
fr�quemment demand�s. Des directives de configuration vous
permettent d'indiquer � <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> soit
d'ouvrir et de charger une image en m�moire d'un fichier avec
<code>mmap()</code>, soit de pr�-ouvrir un fichier et de maintenir en
service le <em>gestionnaire</em> du fichier. Chacune de ces techniques
am�ne � r�duire la charge du serveur lors du traitement des
requ�tes concernant ces fichiers, en accomplissant une partie du
travail n�cessaire � la mise � disposition de ces fichiers (en
particulier les op�rations d'entr�es/sorties sur les fichiers) au
d�marrage du serveur, plut�t qu'au cours de chaque requ�te.</p>
<p>Note : ces techniques sont inutilisables pour acc�l�rer des
programmes CGI ou d'autres fichiers servis par des gestionnaires de
contenu sp�ciaux. Elles ne peuvent �tre utilis�es que pour des
fichiers standards en g�n�ral servis par le gestionnaire de contenu
de base d'Apache.</p>
<p>Ce module est une extension et s'inspire fortement du module
d'Apache 1.3 <code>mod_mmap_static</code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de mod_file_cache</a></li>
</ul><h3 class="directives">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>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_file_cache">Probl�mes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_file_cache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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">Utilisation de mod_file_cache</a></h2>
<p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> g�re la mise en cache d'une liste
de fichiers d�finie de mani�re statique via une des directives
<code class="directive"><a href="#mmapfile">MMapFile</a></code> ou
<code class="directive"><a href="#cachefile">CacheFile</a></code> au niveau
de la configuration du serveur principal.</p>
<p>Les deux directives ne sont pas support�es par toutes les
plates-formes. Par exemple, Apache pour Windows ne supporte pas
actuellement la directive <code class="directive"><a href="#mmapfile">MMapFile</a></code>, alors que d'autres
plates-formes, comme AIX, supportent les deux. Vous recevrez un
message d'erreur dans le journal des erreurs du serveur si vous
essayez d'utiliser une directive non support�e. Si vous utilisez une
directive non support�e, le serveur d�marrera, mais les fichiers ne
seront pas mis en cache. Sur les plates-formes qui supportent les
deux directives, vous devez faire des essais afin de d�terminer
quelle directive vous convient le mieux.</p>
<h3>Directive MMapFile</h3>
<p>La directive <code class="directive"><a href="#mmapfile">MMapFile</a></code> du module
<code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet de transf�rer en m�moire
une liste statique de fichiers � l'aide de l'appel syst�me
<code>mmap()</code>. Cet appel syst�me est disponible sur la
plupart des plates-formes de style Unix, mais pas sur toutes. Il
existe parfois des limites sp�cifiques au syst�me quant � la
taille et au nombre de fichiers qui peuvent �tre
<code>mmap()</code>�s, et l'exp�rimentation est probablement la
m�thode la plus simple pour d�terminer ces limites.</p>
<p>Ce <code>mmap()</code>age n'est effectu� qu'une seul fois au
d�marrage ou red�marrage du serveur. Ainsi, chaque fois qu'un des
fichiers charg�s en m�moire est modifi� au niveau du syst�me de
fichiers, vous <em>devez</em> red�marrer le serveur (voir la
documentation sur l'<a href="../stopping.html">Arr�t et red�marrage</a>). Pour bien
insister sur ce point, si des fichiers sont modifi�s <em>sur
disque</em>, et si vous ne red�marrez pas le serveur, vous allez
finir par servir des contenus compl�tement obsol�tes. Vous devez
mettre � jour les fichiers en renommant l'ancienne version et en
enregistrant la nouvelle sur disque. Pour y parvenir, on peut
utiliser des outils comme <code>rdist</code> et <code>mv</code>.
La raison pour laquelle ce module ne prend pas en compte les
modifications de fichiers r�side dans le fait que cette
v�rification n�cessiterait un appel � <code>stat()</code> � chaque
acc�s, et en fin de compte, l'augmentation de la consommation de
ressources finirait par aller contre le but initial de
r�duire les entr�es/sorties.</p>
<h3>Directive CacheFile</h3>
<p>La directive <code class="directive"><a href="#cachefile">CacheFile</a></code> du module
<code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet d'associer un
<em>gestionnaire</em> ou <em>descripteur de fichier</em> � chaque
fichier �num�r� dans la directive de configuration et place ces
gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des
fichier est demand�, le serveur s�lectionne son gestionnaire dans
le cache et le transmet � l'API <code>sendfile()</code> (ou
<code>TransmitFile()</code> sous Windows).</p>
<p>Cette mise en cache des gestionnaire n'est effectu�e qu'une
seule fois au d�marrage ou red�marrage du syst�me. Ainsi, chaque
fois qu'un des fichiers charg�s en m�moire est modifi� au niveau
du syst�me de fichiers, vous <em>devez</em> red�marrer le serveur
(voir la documentation sur l'<a href="../stopping.html">Arr�t et red�marrage</a>).
Pour bien
insister sur ce point, si des fichiers sont modifi�s <em>sur
disque</em>, et si vous ne red�marrez pas le serveur, vous allez
finir par servir des contenus compl�tement obsol�tes. Vous devez
mettre � jour les fichiers en renommant l'ancienne version et en
enregistrant la nouvelle sur disque. Pour y parvenir, on peut
utiliser des outils comme <code>rdist</code> et
<code>mv</code>.</p>
<div class="note"><h3>Note</h3>
<p>Ne cherchez pas de directive qui met tous les
fichiers d'un r�pertoire en cache, de mani�re r�cursive. Pour y
parvenir, vous pouvez vous reporter � la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code>, et consid�rer cette
commande :</p>
<div class="example"><p><code>
find /www/htdocs -type f -print \<br />
| sed -e 's/.*/mmapfile &/' > /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">Directive</a> <a name="CacheFile" id="CacheFile">CacheFile</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en cache une liste de gestionnaires de fichiers au
d�marrage</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheFile <var>chemin_fichier</var> [<var>chemin fichier</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Exp�rimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheFile</code> associe
des gestionnaires � un ou plusieurs fichiers (s�par�s par des
espaces), et place ceux-ci dans le cache au d�marrage du
serveur. Les gestionnaires des fichiers mis en cache sont
automatiquement ferm�s � l'arr�t du serveur. Lorsqu'un ou plusieurs
fichiers ont �t� modifi�s sur disque, le serveur doit �tre red�marr�
afin que les modifications soient prises en compte par le cache.</p>
<p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
doivent correspondre exactement au chemin du syst�me de fichier que
cr�ent les gestionnaires de traduction URL-vers-nom-fichier
d'Apache. On ne peut pas comparer des inodes ou autres identifiants
pour mettre en correspondance des chemins � l'aide de liens
symboliques <em>(etc...)</em>, car l� encore, ceci n�cessiterait un
appel � <code>stat()</code> suppl�mentaire, ce qui est inacceptable.
Il n'est pas garanti que ce module fonctionne avec des noms de
fichiers r��crits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CacheFile /usr/local/apache/htdocs/index.html</pre>
</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">Directive</a> <a name="MMapFile" id="MMapFile">MMapFile</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Charge au d�marrage une liste de fichiers en
m�moire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MMapFile <var>chemin fichier</var> [<var>chemin_fichier</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Exp�rimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr>
</table>
<p>La directive <code class="directive">MMapFile</code> provoque le chargement d'un
ou plusieurs fichiers (s�par�s par des espaces) en m�moire au
d�marrage du serveur. Ceux-ci sont automatiquement d�charg�s de la
m�moire � l'arr�t du serveur. Lorsqu'un ou plusieurs fichiers ont
�t� modifi�s sur disque, on doit au minimum envoyer un signal
<code>HUP</code> ou <code>USR1</code> au serveur afin de les
re<code>mmap()</code>er.</p>
<p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
doivent correspondre exactement au chemin du syst�me de fichier que
cr�ent les gestionnaires de traduction URL-vers-nom-fichier
d'Apache. On ne peut pas comparer des inodes ou autres identifiants
pour mettre en correspondance des chemins � l'aide de liens
symboliques <em>(etc...)</em>, car l� encore, ceci n�cessiterait un
appel � <code>stat()</code> suppl�mentaire, ce qui est inacceptable.
Il n'est pas garanti que ce module fonctionne avec des noms de
fichiers r��crits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MMapFile /usr/local/apache/htdocs/index.html</pre>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_file_cache.html" title="Fran�ais"> fr </a> |
<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </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">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&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/trunk/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 />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|