<-
Apache > HTTP Server > Documentation > Version 2.0 > Modules

Apache Модуль mod_file_cache

Description: прячет статический список про запас файлов в памяти
Status: экспериментальный
Module Identifier: file_cache_module
Source File: mod_file_cache.c

резюме

этот модуль должен использоваться с заботой. Вы можете легко создать сломанное использование участка mod_file_cache , так читают этот документ тщательно.

кэширование часто требуемые файлы, которые изменяются очень нечасто, - техника для того, чтобы уменьшить груз сервера. mod_file_cache обеспечивает два метода для того, чтобы прятать про запас часто требуемый статический файлы. Через директивы конфигурации, Вы можете направить mod_file_cache к любому открываются тогда mmap() файл, или предоткрыть файл и сэкономить открытый файл описатель файла . оба метода уменьшают груз сервера, обрабатывая запросы об этих файлах, внося свой вклад из работы (определенно, ввод / вывод файла) чтобы служить файлу, когда сервер начат, а не в течение каждого запроса.

заметить: Вы не можете использовать это для того, чтобы ускорить программы CGI или другие файлы, которым служат специальные довольные тренеры. Это может только использоваться для регулярных файлов, которым обычно служит Apache основной довольный тренер.

этот модуль - расширение и влезает в долги от mod_mmap_static модуль в Apacheе 1.3.

директивы

темы

top

Using mod_file_cache

mod_file_cache прячет список про запас статически формируемых файлов через MMapFile или CacheFile директивы в основном конфигурация сервера.

не все платформы поддерживают обе директивы. Например, Apache на Windows в настоящее время не поддерживает MMapStatic директива, в то время как другие платформы, как ЭКС-АН-ПРОВАНС, поддерживают оба. Вы получите ошибочное сообщение в ошибочной регистрации сервера, если Вы попытаетесь использовать неподдержанную директиву. Если дано неподдержанная директива, сервер начнется, но файл не будет прятаться про запас. На платформах, которые поддерживают обе директивы, Вы должны экспериментировать с обоими, чтобы видеть, который работает лучше всего для Вас.

Директива MMapFile

MMapFile директива mod_file_cache наносит на карту список статически формируемых файлов в память через запрос системы mmap() . этот запрос системы доступен на самых современных производных числах Unix, но не на всех. Есть иногда определенные для системы пределы на размере и числе файлов, которые могут быть mmap() редактор, экспериментирование - вероятно самый легкий способ узнать.

это mmap() луг сделан однажды в начале сервера или переначале, только. Так, всякий раз, когда один из нанесенных на карту файлов изменяет на файловой системе Вас иметь повторно начинать сервер (см. Stopping and Restarting документация). Повторять тот пункт: если файлы изменены в месте не повторно начиная сервер Вы можете закончить служить запросам, которые являются полностью поддельными. Вы должны обновить файлы, расцепляя старую копию и положив на место новую копию. Большинство инструментов, типа rdist и mv сделать это. Причина, почему это модули не заботится об изменениях к файлам, - то, что этот чек нуждался бы в дополнительном stat() каждый раз, который является тратой и против намерения сокращения ввода / вывода.

Директива CacheFile

CacheFile директива mod_file_cache открывает активное ручка или описатель файла к файлу (или файлы) перечисленный в директиве конфигурации и местах эти открытые описатели файла в тайнике. Когда файл требуют, сервер восстанавливает ручку от тайника и передает это к sendfile() (или TransmitFile() на Windows), программном интерфейсе приложения гнезда.

это кэширование описателя файла сделано однажды в начале сервера или переначале, только. Так, всякий раз, когда один из припрятавших про запас файлов изменяет на файловой системе Вас иметь повторно начинать сервер (см. Stopping and Restarting документация). Повторять тот пункт: если файлы изменены в месте не повторно начиная сервер Вы можете закончить служить запросам, которые являются полностью поддельными. Вы должны обновить файлы, расцепляя старую копию и положив на место новую копию. Большинство инструментов, типа rdist и mv сделать это.

отметить

не потрудитесь спрашивать директиву который рекурсивно тайники все файлы в справочнике. Пробуйте это вместо этого... См. Include директива, и рассматривает эту команду:

find /www/htdocs -type f -print \
| sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf

top

CacheFile Directive

Description: припрятать список про запас описателей файла во время запуска
Syntax: CacheFile file-path [ file-path ] ...
Context: сервер config
Status: экспериментальный
Module: mod_file_cache

CacheFile директива открывает ручки к одному или более файлам (данный как whitespace отделенные аргументы) и помещает эти ручки в тайник во время запуска сервера. Ручки к припрятавшим про запас файлам автоматически закрыты на закрытии сервера. Когда файлы изменились на файловой системе, сервер должен быть повторно начат к повторно припрятать их про запас.

быть осторожным с дорожка файла аргументы: Они должны буквально соответствовать, тренеры перевода URL-К-ИМЕНИ-ФАЙЛА Апача дорожки файловой системы создают. Мы не можем сравнить inodes или другой материал, чтобы соответствовать дорожкам через символические связи и т.д. потому что это снова стоило бы дополнительный stat() запросы системы, который не приемлем. Этот модуль может или, возможно, не работать с именами файла, переписанными mod_alias или mod_rewrite .

Example

CacheFile /usr/local/apache/htdocs/index.html

top

MMapFile Directive

Description: нанести на карту список файлов в память во время запуска
Syntax: MMapFile file-path [ file-path ] ...
Context: сервер config
Status: экспериментальный
Module: mod_file_cache

MMapFile директива наносит на карту один или более файлов (данный как whitespace отделенные аргументы) в память во время запуска сервера. Они автоматически ненанесены на карту на закрытии сервера. Когда файлы изменились на файловой системе по крайней мере a HUP или USR1 сигнал должен быть, посылают серверу к заново mmap() их.

быть осторожным с дорожка файла аргументы: Они должны буквально соответствовать, тренеры перевода URL-К-ИМЕНИ-ФАЙЛА Апача дорожки файловой системы создают. Мы не можем сравнить inodes или другой материал, чтобы соответствовать дорожкам через символические связи и т.д. потому что это снова стоило бы дополнительный stat() запросы системы, который не приемлем. Этот модуль может или, возможно, не работать с именами файла, переписанными mod_alias или mod_rewrite .

Example

MMapFile /usr/local/apache/htdocs/index.html