Configure o Apache para reconhecer apenas alterações no htdocs após uma reinicialização

1

Eu quero que o Apache requeira um reinício para que ele reconheça quaisquer alterações no htdocs.

Isso é possível?

    
por Neikos 12.10.2010 / 18:35

2 respostas

1

Por "htdocs", você quer dizer todo o conteúdo do seu site? Em caso afirmativo, a resposta é "talvez" usando mod_cache + mod_disk_cache. Você precisará executar algum tipo de spider para rastrear todas as suas páginas para que o Apache carregue todas elas no cache, configure a data de expiração para milhões de segundos no futuro e ative apenas todas as opções que o apache avisa contra devido a servir "obsoletos" páginas. Entretanto, esta não é uma idéia perfeita ... se houver arquivos que o spider perca ou se você adicionar novos arquivos ao seu diretório htdocs, as pessoas poderão vê-los (e adicioná-los ao cache para todos os outros) se puderem. descobrir o URL. Você pode descobrir como usar o aviso de segurança aqui a seu favor, permitindo que todos para acessar o cache, mas não o site real, mas eu suspeito que todos os outros considerariam tentar fazer isso como um "bug" em vez de um "recurso". Quando você quiser atualizar o site, você terá que apagar todos os arquivos em cache e re-spider o site.

Sem saber o que você está tentando fazer, só posso adivinhar ideias melhores. Se você está apenas fazendo alterações no seu site e não quer que ninguém as veja até que esteja pronto, então o que você deve fazer é ter dois diretórios diferentes com uma cópia do seu site. A configuração do Apache deve apontar para um diretório como DocumentRoot enquanto você faz alterações no outro. Quando você terminar de fazer alterações, edite a configuração do Apache, aponte DocumentRoot para o outro diretório e reinicie o Apache para que o novo site esteja ativo.

    
por 13.10.2010 / 03:03
1

Não vejo nenhuma solução pronta para uso.

No entanto, minha ideia seria esta:

Você configura seu servidor para que o DocumentRoot e o diretório FTP sejam diferentes. Então você escreve um script que copia todos os arquivos localizados no diretório FTP para o diretório DocumentRoot.

Você pode fazer isso facilmente com o rsync.

Você pode até inserir esse script no arquivo /etc/init.d/apache2. Dessa forma, quando você reiniciar ou recarregar um serviço (com service apache2 restart|reload ), todos os arquivos serão atualizados no diretório DocumentRoot.

    
por 20.03.2011 / 13:18

Tags