требуется перезапуск службы Apache с любыми изменениями в файле перезаписи? - PullRequest
1 голос
/ 23 октября 2010

Я использую файл сценария perl в качестве файла карты в директиве RewriteMap.Когда я читаю apache, загрузите скрипт один раз в начале. Так нужно ли перезагружать или перезапускать apache после любых изменений в этом файле скрипта?

Ответы [ 2 ]

2 голосов
/ 24 октября 2010

Да, карты перезаписи регистрируются только при запуске Apache.И при использовании внешних программ в качестве карт перезаписи (например, тип карты pgr) программные файлы должны быть заблокированы с помощью RewriteLock:

Эта директива устанавливает имя файла дляфайл синхронизации синхронизации, который необходим mod_rewrite для связи с RewriteMap программами .Установите этот файл блокировки на локальный путь (не на устройстве, смонтированном в NFS), если вы хотите использовать перезаписывающую карту-программу.Это не требуется для других типов переписывания карт.

Но впоследствии могут быть изменены другие типы карт:

Для файлов простого текста и файлов формата DBM искомый поискключи кэшируются в ядре до тех пор, пока mtime файла карты не изменится или сервер не перезапустится.Таким образом, вы можете использовать map-функции в правилах, которые используются для каждого запроса.Это не проблема, потому что внешний поиск происходит только один раз!

1 голос
/ 26 марта 2012

Я не уверен, что приведенный выше ответ правильный, перезагрузка вроде бы в порядке.

Вы можете выполнить команду «ps aux | grep YOUR_REWRITE_PROGRAM», чтобы проверить PID / время начала вашей программы карты перезаписи.

Похоже, что перезагрузка Apache устанавливает новый PID / время запуска для этих процессов, поэтому я предполагаю, что новые процессы запущены, перезагрузка может быть в порядке.

...