- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть идея использовать PHP для создания файлов кеша для nginx.
nginx проверяет наличие такого файла, если файл есть - отдает как статику. Усли файла нет - проксит запрос апачу, на котором php при запросе создаст такой файл и следующий запрос будет уже как статика.
Что это даст - контроль валидности кеша стредствами пхп.
Что скажете о таком способе?
Вполне можно реализовать.
Только какой смысл использовать php ? Если только там ни какая-то замудрённая логика создания самого файла кэша.
Контролировать кэш всё-равно толком не получится, т.к. nginx молча отдаст файл, если он будет присутствовать на диске.
Вы бы рассказали более подробно, чего хотите добиться. Возможно, что можно всё сделать гораздо проще и не нагрузно.
Спасибо за ответы.
memcached можно использовать, но он требователен к памяти и несохраняет кеш при рестарте. есть что-то похожее умеющее использовать дисковый кеш?
Специальной какой-то задачи пока нет, пока в общеобразовательном плане интересуюсь.
Было предложено ранее.
в nginx кэширование под максимальное время и управляйте из пхп кэшем. через nginx_ngx_cache_purge.
nginx_ngx_cache_purge
А оно умеет чистить кеш по маске? Или только постранично? Не могу найти нормальных доков.
netwind, Такой кеш делается мемкешем, а не загонянием в статику. Или при обновлении страницы скрипт пинает веб-сервер, чтобы сказать ему, что кещ устарел. А не создавать кеш пыхом. Это бред.
а генерирует же html страницу все таки php, например, от шаблонизатора $templete->out; это вся страница отдаваемая, ее можно записать в кэш nginx (в файл), чтобы страница отдавалась как статика...
Или при обновлении страницы скрипт пинает веб-сервер, чтобы сказать ему, что кещ устарел
что устарела страница или устарел весь кэш?
(что-то не видел, что можно отправить запрос и указать что конкретная страница устарела)
что-то не видел, что можно отправить запрос и указать что конкретная страница устарела
Как раз это и можно:
#allow 127.0.0.1;
#allow 10.1.1.0/24;
#deny all;
fastcgi_cache_purge mycache $1$is_args$args;
}
Для того чтоб удалить закешированную страницу: http://myproject/mypage.php?lang=ru, мне достаточно загрузить страницу http://myproject/purge/mypage.php?lang=ru
А вот можно ли стереть весь кеш (можно конечно тупо папку с кешем, но интересует именно ngx_cache_purge) или часть его?
izbushka, ну по маске - вроде проще всего выполнить в пыхе unlink ();
izbushka, ну по маске - вроде проще всего выполнить в пыхе unlink ();
Тогда пыхе надо давать доступ за пределы doc_root, или хранить кеш внутри.. Както не очень красиво..
А еще в php, как и во многих других языках со скопированной у Cи файловой библиотекой, unlink не удаляет по маске.
Как раз это и можно:
А вот можно ли стереть весь кеш (можно конечно тупо папку с кешем, но интересует именно ngx_cache_purge) или часть его?
а если страница одна http://myproject/mypage.php?lang=ru, но например, для разных пользователей (в зависимости от доступа и т.д.) на этой странице разная информация?
тогда только так http://myproject/mypage.php?lang=ru&use_id=10