Depois da atualização do ntpdate para o servidor Ubuntu eu sempre recebo o antigo arquivo php no nginx

2

O problema com nginX caching aconteceu quando usei ntpdate ntp.ubuntu.com para sincronizar o relógio do meu servidor.

Agora, quando eu solicitar o caminho http://www.example.com/project/create , recebo o arquivo PHP antigo em que estava trabalhando.

Eu tentei definir sendfile para off em nginx.conf e até desliguei o cache em cloudFlare do meu DNS, mas não obtive sucesso.

Quando eu olhei para a parte do cabeçalho com curl -I http://www.example.com/project/create , tive a resposta abaixo:

HTTP/1.1 302 Moved Temporarily                                                 │
Server: nginx                                                                  │
Date: Fri, 15 Aug 2014 10:51:38 GMT                                            │
Content-Type: text/html                                                        │
Connection: keep-alive                                                         │
Set-Cookie: PHPSESSID=cihsfrq6aoat5baun8dem01go5; path=/                       │
Expires: Thu, 19 Nov 1981 08:52:00 GMT                                         │
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0  │
Pragma: no-cache                                                               │
Location: http://www.example.com/site/login  

Não consegui encontrar nenhuma pasta de cache nginx para excluir. Eu reiniciei o nginX depois de todas essas mudanças, mas não ganhei nada. Não consigo pensar em nenhum outro motivo pelo qual isso esteja acontecendo.

EDIT 1:
Parece que quando eu uso ntpdate ntp.ubuntu.com , ele muda o tempo do servidor para 7:25 enquanto meu tempo é 16 !? Modificações de arquivo são agora 16, a data antiga, enquanto o tempo do meu sistema é 7:25. Se eu mudar o meu tempo para 16, então o meu empurrador vai lançar um erro e diz que o timestamp dado expirou:

string(112) "Timestamp expired: Given timestamp (2014-08-15T20:06:20Z) not within 600s of server time (2014-08-15T11:39:59Z) " 
    
por ALH 15.08.2014 / 13:00

2 respostas

0

Você pode ter o módulo APC cache instalado no PHP. A maneira mais fácil de forçar a atualização do cache da APC, você deve reiniciar o daemon PHP-FPM .

    
por 15.08.2014 / 15:52
3

Os tempos de cache são criados usando a hora atual do sistema. Os saltos no tempo, como os que você experimentou, devem criar um comportamento estranho. nginx é apenas um dos vários programas que podem se comportar dessa maneira. Essas questões geralmente são claras, uma vez que os tempos se atualizam.

Tente executar um processo de ntp daemon em vez de executar periodicamente ntpdate . Uma vantagem do ntp sobre o ntpdate é que, para ajustes menores, ele acionará o relógio em vez de saltar o relógio. Quando o relógio estiver sincronizado, o ntp consultará seus servidores aproximadamente a cada 15 minutos (1024 segundos).

Se você souber que seu relógio está significativamente desligado, poderá ajustar manualmente o relógio em pequenos ajustes por um longo período de tempo. Isso pode ser roteirizado e executado como um cron job. Quando estiver dentro de um minuto ou mais do tempo real, você poderá iniciar seu daemon ntp .

    
por 15.08.2014 / 14:39