Назад | Перейти на главную страницу

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

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


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

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

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

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


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

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

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

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