Nginx использует результат mysql как переменную для использования в модуле заголовков more

Не вдаваясь в подробности, мы предъявляем следующие требования:


а) Запрос простого столбца, одного результата строки из mysql.

б) Используйте эту переменную как часть модуля дополнительных заголовков, директива add_header.

c) Если результаты не возвращаются (например: число строк 0), шаблон соответствует запросу uri ($request_uri из того, что я помню?) и использует результат отсюда.

d) В идеале кэшируйте эти данные на стороне nginx где-нибудь, чтобы будущие запросы могли повторно использовать эти данные без дополнительных затрат mysql. Есть около 5 миллионов результатов, но после кэширования они всегда остаются неизменными.


Кто-нибудь когда-либо использовал nginx и lua, я думаю, это будет лучший маршрут?

Любые другие рекомендуемые способы сделать это?

1 ответ

Это действительно то, что nginx не подходит для большинства платформ веб-приложений (т. Е. Php, python, ruby, asp.net и т. Д.). Nginx предназначен для очень прямой скорости, поиск в базе данных займет больше времени, чем большинство запросов nginx.

Итак, чтобы ответить на вопрос - обратный прокси-сервер с использованием nginx на вашу платформу по выбору, создайте там магический редиректор. Если вы вернете его с правильными заголовками и настроите кэширование в nginx, вы все равно сможете воспользоваться этой частью nginx, чтобы сохранить нагрузку на сервер приложений и т. Д.

Другие вопросы по тегам