Чтобы быть более производительными, мы хотели бы позволить nginx перехватывать ошибки 404, прежде чем передавать их вышестоящему серверу apache. На обоих серверах есть одинаковые файлы.
Больше информации
У нас есть популярная установка для обслуживания статического контента на nginx и использования восходящего потока apache для обслуживания динамического контента. В настоящее время мы синхронизируем php вместе со статическими файлами с узлами nginx из вышестоящих узлов apache. На обоих слоях находятся одинаковые файлы. Мы просто обслуживаем только статические файлы из nginx.
В настоящее время все нестатические запросы отправляются на сервер Apache (как предполагалось ранее). Однако я понял, что nginx должен иметь возможность проверять наличие файла .php, прежде чем принимать решение о его передаче в апстрим. Это означало бы, что обработка запроса будет намного более эффективной.
Я возился с комбинацией try_files, а затем, в конце концов, блокирует поиск решения, но я не добился успеха. Пожалуйста, порекомендуйте.
Спасибо!
Есть довольно простое решение:
server {
listen 0.0.0.0;
server_name fooo.org;
access_log /var/log/nginx/access.log main;
root /var/www/fooo.org;
location / {
# If the file exists as a static file serve it directly without
# running all the other rewite tests on it
if (-f $request_filename) {
break;
}
proxy_pass http://127.0.0.1:8080;
}
}
пожалуйста +1 если помогло;) спасибо