Я пытаюсь создать глобальную location
в nginx. Сейчас все работает отлично, за исключением PHP-скриптов, требующих fastcgi. У них 404.
Есть ли способ увидеть точный путь, к которому он обращается, чтобы я мог попробовать немного отладить это и выяснить, что я делаю не так?
Для FastCGI нет журнала доступа, потому что это не программа, это протокол. Для отладки обработчика PHP fastcgi я обычно прибегал к strace
- обычно он показывает мне, к какому файлу пытается получить доступ, и нетрудно понять, как это пошло не так. Журнал отладки обработки запросов Nginx также часто бывает поучительным.
Использовать strace для этого довольно просто - вы просто ограничиваете рабочих PHP FCGI и ограничиваете себя вызовами чтения / записи с помощью -e trace=read,write
. Увеличение размера строковой печати с помощью -s 4096
также является хорошей идеей, поэтому вы получаете весь пакет FCGI, а не только первые несколько байтов.
Другой способ - включить режим отладки в директиве error_log, см. http://wiki.nginx.org/CoreModule#error_log
error_log error.log отладка;
даст больше информации о том, что происходит внутри nginx, но не fastcgi.
Дополнительная информация о http://wiki.nginx.org/Debugging также.