- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Читайте внимательно документацию
читал, просмотрел кучу примеров
результат что-то не айс
подскажите как решить траблу
Вам три раза скинули ссылку на документацию, вы ее прочитали?
умолчание:
proxy_store off;
контекст: http, server, location
Разрешает сохранение на диск файлов. Параметр on сохраняет файлы в соответствии с путями, указанными в директивах alias или root. Параметр off запрещает сохранение файлов. Кроме того, имя файла можно задать явно с помощью строки с переменными:
proxy_store /data/www$original_uri;
Время изменения файлов выставляется согласно полученному полю “Last-Modified” в заголовке ответа. Ответ сначала записывается во временный файл, а потом этот файл переименовывается. Начиная с версии 0.8.9, временный файл и постоянное место хранения ответа могут располагаться на разных файловых системах, но нужно учитывать, что в этом случае вместо дешёвой операции переименовывания в пределах одной файловой системы файл копируется с одной файловой системы на другую. Поэтому лучше, если сохраняемые файлы будут находиться на той же файловой системе, что и каталог с временными файлами, задаваемый директивой proxy_temp_path для данного location.
Директиву можно использовать для создания локальных копий статических неизменяемых файлов, например, так:
location /images/ {
root /data/www;
open_file_cache_errors off;
error_page 404 = /fetch$uri;
}
location /fetch/ {
internal;
proxy_pass http://backend/;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /data/temp;
alias /data/www/;
}
или так:
location /images/ {
root /data/www;
error_page 404 = @fetch;
}
location @fetch {
internal;
proxy_pass http://backend;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /data/temp;
root /data/www;
}
синтаксис: proxy_store_access пользователи:права ...;
умолчание:
proxy_store_access user:rw;
контекст: http, server, location
Задаёт права доступа для создаваемых файлов и каталогов, например,
proxy_store_access user:rw group:rw all:r;
Если заданы какие-либо права для group или all, то права для user указывать необязательно:
proxy_store_access group:rw all:r;
Ну так у вас ничего не проксируется же. proxy_pass где? Смысл кешировать статический контент, когда nginx раздает его напрямую?
Если я правильно понял, то автор пытается кэшировать не картинки, а результат работы скрипта. Если так, то задача изначально неверна.
вот полный конфиг вирт хоста
proxy_ignore_headers X-Accel-Redirect;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
proxy_store on;
server {
listen 80;
server_name t.ru;
location / {
proxy_pass http://192.168.0.2:8080/;
index index.php
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* .+\.(jpg|jpeg|gif|css|js)$ {
proxy_cache all;
proxy_cache_valid 404 502 503 1m;
proxy_cache_valid any 1h;
}
}
-----------------------------------
location /
тут все ок, сайт же работает
location ~* .+\.(jpg|jpeg|gif|css|js)$
тут как я понял должны кешироваться картинки в all пути/настройки к которому прописаны в начале
---------- Добавлено 08.03.2013 в 16:32 ----------
Если я правильно понял, то автор пытается кэшировать не картинки, а результат работы скрипта. Если так, то задача изначально неверна.
nginx должен кешировать картинки которые отдает apache
nginx и apache на разных физических серверах
откуда там возьмется статика, у вас вообще нету настройки проксирования в локейшене для статики.
ну так подскажите что добавить/убрать/изменить
я же прошу помочь, а не обучать
если бы я увидел как правильно, я бы хоть разобрался бы что к чему и тогда дальше крутил
ну так подскажите что добавить/убрать/изменить
я же прошу помочь, а не обучать
если бы я увидел как правильно, я бы хоть разобрался бы что к чему и тогда дальше крутил
Вам уже ответили. В location добавьте
proxy_pass http://backend;
...
это я уже пробовал
ругается на эту строку
configuration file /etc/nginx/nginx.conf test failed
---------- Добавлено 08.03.2013 в 19:53 ----------
как я понял надо
location ~* .+\.(jpg|jpeg|gif|css|js)$ {
proxy_pass http://backend/...........;
где ....... - регулярное выражение
proxy_pass http://backend/~* .+\.(jpg|jpeg|gif|css|js); - не подходит
---------- Добавлено 08.03.2013 в 20:28 ----------
------------------------------------------------------------------------------------------
может я что-то не так объясняю
попробую еще раз
1) запрос от посетителя сайта на файл (jpg/png/css/js/gif)
2) nginx смотрит у себя в кеше
3.1) если файл найден то отдать пользователю
3.2) если файл не найдет то скачать с бэкенда себе(в кеш nginx и хранить например 1 сутки) и отдать пользователю
то есть если второй пользователь запросит этот же файл в течении суток, то nginx отдаст его уже из своего кеша не дергая при этом бэкенд