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

Как установить для файлов кеша nginx права доступа 777?

Я пытаюсь написать процесс, который делает недействительным кеш на nginx (и не нагревает кеш повторно).

По умолчанию nginx имеет 700 файлов кеша. Ближайший параметр, который я смог найти, был:

proxy_store_access user:rw group:rw all:r;

Однако это относится к хранилищам прокси, а не к кешам.

Итак, как мне сказать nginx создать файлы кеша как 777?

В настоящее время я запускаю nginx / 1.5.8 на ubuntu 12.

Итак, чтобы ответить на ваш конкретный вопрос, вам нужно установить umask на 000. Если хотите, я могу дать вам эти инструкции. Но я не думаю, что вы этого хотите. Шутки в сторону.

Кстати, конфигурация proxy_store_access влияет на файлы, созданные системами proxy_store и proxy_cache (я проверял это в исходном коде).

Я не хочу показаться грубым, но я не думаю, что ты хочешь делать то, что предлагаешь. Я подозреваю, что вы хотите регулярно очищать свой nginx chache. Если вы посмотрите документацию здесь: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path вы увидите, что nginx должен обрабатывать аннулирование вашего кеша, чтобы он оставался ниже определенного размера.

Теперь, если вы все еще хотите написать процесс, который делает недействительным (я предполагаю, вы имеете в виду удаление) кеш, вот другой вариант. Если это должно выполняться как cronjob, поместите его в crontab пользователя nginx. Кроме того, есть способы использовать sudo для предоставления кому-либо ограниченного доступа к повышенным разрешениям. Наконец, если вы действительно кодируете специальную программу, изучите бит setuid (также известный как suid) исполняемого файла.

Удачи. Это помогает?

В любом случае это спорный вопрос.

В соответствии с этот ответ и сообщение на форуме от Игоря Сысоева (автор nginx), одного удаления файлов кеша будет недостаточно для очистки кеша из-за общей памяти.

Итак, я ослабляю одно из своих требований и разрешаю очистить кеш, нагревая его. Сейчас я делаю https-запросы с Pragma: no-cache заголовок.

В идеале мне бы не пришлось его прогревать, чтобы очистить кеш. Но у меня нет решения, чтобы очистить кеш только для данного URI.