Большинство современных контроллеров массива обеспечивает это как уровень контроллера. RAID-контроллеры PERC Dell имеют что-то позвонившее "Патрульное Чтение", которое осуществляет диски в массиве.
ZFS имеет названное "перепосеребрение" функции, которое делает что-то подобное.
Вы могли бы, чтобы попытаться использовать try_file вместо этого.
Например, для Wordpress. Адаптируйтесь соответственно.
location /wordpress {
try_files $uri $uri/ @wordpress;
}
location @wordpress {
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(/wordpress)(/.*)$;
fastcgi_param SCRIPT_FILENAME /var/www/wordpress/index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
Ошибка на самом деле вызывается PHP по fastcgi. Вы получаете тот же ответ с апачем. Можно или заставить веб-сервер проверять, что файл существует прежде, чем отправить его в php. С Apache Вы могли сделать это использование mod_rewrite, но я не знаю достаточно о nginx, чтобы помочь Вам реализовать его. Альтернатива должна надеяться видеть, имеет ли PHP опцию конфигурации, которая позволила бы Вам, изменяют поведение, когда это не может найти php файл для запроса.
Включайте следующую строку в fastcgi_params
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/domain.com/public/$fastcgi_script_name;
include fastcgi_params;
}
эта конфигурация хорошо работает для меня.
У меня тоже была такая же проблема. Я просто добавил свой корневой каталог в строку
SCRIPT_FILENAME /web/root/$fastcgi-script_name;
, и теперь он работает как шарм.