Я запускаю свой личный веб-сайт, написанный на Python на nginx с uwsgi. Поскольку сайт очень статичен, я хочу улучшить производительность, добавив микрокеширование.
И nginx, и uwsgi предлагают кеширование.
Может ли кто-нибудь объяснить разницу между двумя вариантами и дать мне совет, какой из них лучший?
Обе предоставленные вами ссылки являются примерами nginx
функциональность кеширования.
Оба они ведут себя примерно одинаково, но используются для разных сценариев:
proxy_cache
директивы используются, когда приложение (вообще говоря бэкэнд) доступен через HTTP (т.е. когда nginx
служит [обратным] прокси для другого веб-сервера).uwsgi_cache
директивы используются, когда приложение размещается на экземпляре, который использует uwsgi
протокол (например, uWSGI
стек приложений).Директивы, доступные для каждого из двух методов, ведут себя очень похоже, если не одинаково (это, конечно, предполагаемое поведение).
nginx
также предлагает аналогичные функции, например, FastCGI бэкэнды.
Поскольку ваша установка использует uwsgi
, вы бы предпочли использовать соответствующий uwsgi_cache
директивы.
На самом деле вы должны это сделать, если не хотите вводить второй HTTP(веб) сервер для обслуживания вашего приложения Python за вашим nginx
пример.