Назад | Перейти на главную страницу

После обновления ntpdate для сервера ubuntu я всегда получаю старый файл 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) " 

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

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

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

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