После того, как ntpdate обновляют для сервера человечности, я всегда получаю старый php файл в nginx

Проблема с nginX кэширование произошло, когда я использовал ntpdate ntp.ubuntu.com синхронизировать мои часы сервера.

Теперь, когда я запрашиваю путь http://www.example.com/project/create Я получаю старый файл PHP, что я продолжал работать.

Я пытался установить sendfile кому: off в nginx.conf и даже выключил кэширование в cloudFlare для моего DNS, но усиления никакой успех.

Когда я изучил часть заголовка с curl -I http://www.example.com/project/create Я имел ниже ответа:

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  

Я не мог найти, что любая nginx папка кэша удалила. Я перезапустил nginX после всех тех изменений, но ничего не получил. Я не могу думать ни о какой другой причине, почему это происходит.

РЕДАКТИРОВАНИЕ 1:
Кажется этим, когда я использую ntpdate ntp.ubuntu.com, это изменяет время сервера на 7:25 в то время как мое время 16!? Модификации файла равняются теперь 16, старой дате, в то время как мое системное время является 7:25. Если я изменюсь, то мое время к 16 затем моим толкателям бросит ошибку и говорит, что данная метка времени истекает:

string(112) "Timestamp expired: Given timestamp (2014-08-15T20:06:20Z) not within 600s of server time (2014-08-15T11:39:59Z) " 
2
задан 15 August 2014 в 14:41
2 ответа

В PHP может быть установлен кэш-модуль APC. Самый простой способ заставить обновление кэша APC, это перезапустить демона PHP-FPM.

.
0
ответ дан 3 December 2019 в 10:45

Время кэширования строится по текущему системному времени. Ожидается, что скачки времени, подобные тем, что вы испытали, приведут к странному поведению. nginx - всего лишь одна из нескольких программ, которые могут вести себя подобным образом. Эти проблемы в целом понятны, как только время нагоняет время.

Попробуйте запустить процесс демона ntp, а не периодически запускать ntpdate. Одно из преимуществ ntp перед ntpdate состоит в том, что при небольших настройках он не перескакивает, а перемещает часы. После синхронизации часов ntp будет опрашивать свои серверы примерно каждые 15 минут (1024 секунды).

Если вы знаете, что ваши часы значительно отключены, то вы можете вручную настроить часы с помощью небольших корректировок в течение длительного периода времени. Это может быть написано в сценарии и запущено как задание cron. Как только вы окажетесь в пределах минуты или около того от реального времени, тогда вы можете запустить своего ntp демона.

.
3
ответ дан 3 December 2019 в 10:45

Теги

Похожие вопросы