Я пытаюсь разработать совершенно новый веб-сайт, используя исключительно nginx, uwsgi и python. Проблема в том, что если я изменю файл, на который указывает uwsgi, и обновлю страницу, я получу HTML-код, сгенерированный предыдущей версией файла. Похоже, что nginx, uwsgi или оба кэшируют код и/или ответ моего сайта. Я читал о кэшировании uwsgi, но не смог отключить кэширование с помощью флагов --cache2 и --cache_*. Я нашел этот другой вопрос, а также попытался использовать
proxy_no_cache "1";
proxy_cache_bypass "1";
в словаре местоположения сервера (находится в /etc/nginx/sites-available/mysite), но, увы, все равно кэширует страницу. Я использовал web2py в прошлом с nginx и uwsgi, и, похоже, у него не было этой проблемы, когда я обновлял контроллеры или представления.
Это файл моего сайта:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/snakeoil.conf;
server_name _;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
}
}
это исполняемая программа, которую использует скрипт init.d:
uwsgi --master --processes 4 --threads 2 --die-on-term -s /tmp/mysock.sock --socket :3031 --uid www-data --gid www-data --vacuum --wsgi-file /path/to/my/python/file.py
это загружаемый файл python:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return ["<h1>Hello World</h1>"]
Я понимаю, что кэширование повышает производительность, поэтому я намерен снова включить его для производственной среды, но разработка с включенным кэшированием — это боль в заднице... Что я делаю неправильно?
Мой единственный обходной путь сейчас — перезапускать службу uwsgi каждый раз, когда я вношу изменения :(