Предположение: Ваш пользовательский сценарий, работая на всех трех полях, спотыкается за другие экземпляры себя при попытке управлять теми же файлами от трех мест; клиент NFS, работающий на удаленной системе, говорит ее ядру, что она удалила файл, но она была на самом деле удалена процессом в другой системе тем временем, таким образом, удаленный клиент застревает.
Решение: Используйте NFS, чтобы позволить удаленным системам получать доступ к файловой системе, но только запускать скрипт очистки в системе экспорта.
Решением будет регистрация необходимых переменных с помощью nginx с использованием log_format
.
В простейшем случае это может быть выглядит так (вставьте этот код в контекст http
):
log_format mylog '$fastcgi_script_name';
access_log /var/log/nginx/access.log mylog;
Затем вы увидите результаты в файле журнала доступа (в моем случае /var/log/nginx/access.log
Другое решение - скомпилировать nginx с HttpHeadersMoreModule .
Этот модуль позволяет вам манипулировать заголовками http с гораздо большей гибкостью, чем с директивой nginx default add_header
.
Итак, чтобы просмотреть значение $ fastcgi_script_name
, вы можете написать:
location ~ \.php$ {
more_set_headers "x-debug-header: $fastcgi_script_name";
fastcgi_pass 127.0.0.1:9000;
...
}
Затем вы можете увидеть заголовки в Google Chrome DevTools на вкладке «Сеть» (или аналогичные инструменты в других браузерах).
PS с HttpHeadersMoreModule вы также можете перепишите заголовок Server
, если вам, конечно, нужно:
more_set_headers "Server: my_server";
Удачи!