У меня есть 2 веб-сервера, которые обмениваются файлами через NFS. Когда мы обновляем наш php-код до новой версии, наш скрипт обновления перемещает существующий каталог и копирует его в новой версии. Мы вносим изменения прямо на сервере NFS.
Каждый раз, когда мы это делаем, web1 перестает работать. Он выдает ошибки HTTP 500, а в журнале PHP говорится, что он не может включать fileX.php. Однако, когда я вручную перехожу в каталог в командной строке, я вижу файл и его обновленную версию.
Чтобы исправить это, мне нужно перемонтировать каталог NFS и перезапустить apache. Есть идеи, почему это происходит? Это происходит только на web1, а не на web2, и у них обоих одинаковые конфигурации. И, как я уже сказал, я могу видеть файлы на web1 в командной строке, только apache их не видит.
Вот параметры монтирования (/ proc / mounts):
192.168.1.1:/var/exports/www/ /var/www nfs rw,sync,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=65535,timeo=600,retrans=2,sec=sys,local_lock=none,addr=192.168.1.1 0 0
Спасибо.
Сделайте strace на apache.
Если его всего два сервера. Зачем использовать NFS. Посмотрите DRBD (Активный / Активный). Я использую его, и он работает как бомба (вам понадобится OCFS2).
HTH