A reinicialização do serviço Apache é necessária com alguma alteração no arquivo de reescrita?

StackOverflow https://stackoverflow.com/questions/4002693

  •  25-09-2019
  •  | 
  •  

Pergunta

Estou usando um arquivo de script Perl como um arquivo de mapa na diretiva Rewritemap. Ao ler o Apache, carregue o script uma vez no início, é necessário recarregar ou reiniciar o Apache após alguma alteração nesse arquivo de script?

Foi útil?

Solução

Sim, reescrever mapas são registrados apenas quando o Apache está começando. E ao usar programas externos como mapas de reescrita (por exemplo, tipo de mapa pgr) os arquivos de programa precisam ser bloqueados com RewriteLock:

Esta diretiva define o nome do arquivo para um arquivo de bloqueio de sincronização com o qual Mod_rewrite precisa se comunicar RewriteMap programas. Defina este arquivo de bloqueio como um caminho local (não em um dispositivo montado em NFS) quando deseja usar um programa de mapa de reescrita. Não é necessário para outros tipos de mapas de reescrita.

Mas os outros tipos de mapa podem ser alterados depois:

Para arquivos de formato simples e dbm, as teclas procuradas são armazenadas em cache no núcleo até que o mtime das alterações do MapFile ou do servidor faz uma reinicialização. Dessa forma, você pode ter funções de mapas em regras que são usadas para todo solicitar. Isso não tem problema, porque a pesquisa externa acontece apenas uma vez!

Outras dicas

Não tenho certeza se a resposta acima está correta, a recarga parece estar bem.

Você pode fazer "PS AUX | GREP Your_rewrite_program" para verificar o tempo de início do PID/Iniciar o seu programa de mapa de reescrita.

O Apache Recload parece definir um novo horário de PID/início para esses processos, então eu suponho que novos processos foram iniciados, uma recarga pode estar bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top