Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Ngnx кеширование файлов с другого сервера
цитата
03/11/14 в 21:50
 karbonv
Это вообще возможно? форум серверных админов ведь icon_smile.gif

Кэширование прописано в конфиге а не в .htaccess - все работает нормально, гугл выплюнул в гвт кучу ссылок css и jpg которые нужно закэшировать, проблема в том что все css находятся на других серверах - он их вытянул из скриптов баннеров, счетчиков и прочих скриптов, даже набор соц кнопок от яндекса отругал и сказал "не оптимизировано бдядь - нужно сократить и пережать сам jpg от Яндекса"

Можно ли всю это дело закэшировать по средствам ngnx? и как? дабы не ибаста с правкой самих скриптов

Ну да всем плюхи icon_cool.gif
цитата
03/11/14 в 22:01
 Pentarh
да ну проще пареной репы. куда не плюнь в гугле "nginx proxy cache"

http://habrahabr.ru/post/124684/
цитата
03/11/14 в 22:35
 karbonv
Тут кэширование на стороне юзера должно быть, а это кэширование сессии на самом серве, или я что то упустил?
цитата
03/11/14 в 22:58
 Дартаньян
karbonv: trollface.png да никак ты это не сделаешь, разве что подгрузишь себе их js и сss.
цитата
03/11/14 в 23:07
 karbonv
Этот вариант я и имел ввиду в самом конце, но smail10.gif
цитата
03/11/14 в 23:58
 Дартаньян
есть еще один вариант, это подгружать их в js может выйдет наебать гугол спид пейдж.
цитата
04/11/14 в 00:34
 karbonv
Ну да - это если счетчик сквозной и постойнный, а если это баннеры с ротацией? trollface.png
цитата
04/11/14 в 00:54
 karbonv
По идее решение должно быть проще, просто указать внешний домен/ы и расширения, так как ngnx работает по дефолту для своих доменов

или как то так
цитата
04/11/14 в 01:04
 Stek
Никак это не сделать, забить просто. nginx может сжать только то, что отдает он сам. А счетчики и прочее - это другие сервера и т.п.
цитата
04/11/14 в 01:06
 karbonv
Не сжать, а кэшировать у юзера - это не одно и то же
цитата
04/11/14 в 12:19
 remote-admin-service
Если они проксируются так же через этот vhost, то не вопрос. легко сделать.
цитата
04/11/14 в 22:50
 karbonv
remote-admin-service писал:
легко сделать.


Как?

Оффтопик: Я вообще не использую проксирование, оно мне ненужно, у меня ничего не падает, и насколько я знаю это просто кэширует страницы сайта на сервере и используется именно для этого... как оно используется я уже по полочкам разобрал, НО! может я где то нублю, я не спорю icon_cool.gif как этим методом можно кэшировать конкретноые расширения файлов с других серверов в кэше браузера своих юзеров?
цитата
04/11/14 в 23:52
 Дартаньян
karbonv: есть вариант наебать, добавь инклуд их сss в свой css также с js. Если работает, то с тебя пиво или куртизанки.
цитата
05/11/14 в 00:17
 Pentarh
Заставить юзверя кешировать - это добавить кеширующие (и удалить некеширующие) хидеры в ответах сервера, который отдает объекты желаемого кеширования.

Соответственно, влиять на чужие сервера ты не можешь. Ты можешь завернуть эти объекты на свой сервер с помощью задорных и увлекательных костылей с помощью proxy module, rewrite module, content filter и прочих регэкспов. И отдавая уже со своего через прокси - вмешиваться в хидеры.

Но ставлю Jim beam, что у этих рекламщиков наебнутся каунтеры, если юзверя будет кешировать что не положено.
цитата
05/11/14 в 02:32
 Дартаньян
Pentarh: trollface.png
цитата
05/11/14 в 20:15
 ravlio
Очень невнятная задача. Ни урлов, не примеров самого контента. Непонятно, насколько динамичен отдаваемый контент. Если он зависит от переменных окружения пользователя, таких как IP, User Agent, то закешировать такое невозможно, думаю, всем понятно, почему. А если это статические jpg. css, js, то можно хоть руками их прописать, хоть через прокси пропустить. Совсем другой вопрос — зачем. Но тебе должно быть виднее.
цитата
05/11/14 в 20:29
 Дартаньян
ravlio: все внятно, всякие там адсенсы или тизерки тупят адово.
цитата
05/11/14 в 21:20
 karbonv
ravlio писал:
Очень невнятная задача

Читай правильно icon_wink.gif

Pentarh: это долго, плюс еще и разбираться нужно... если решение готовое есть поделись trollface.png

Дартаньян: единственный кто понял, нахера все это нужно smail54.gif
цитата
05/11/14 в 21:55
 ravlio
karbonv писал:
Читай правильно icon_wink.gif
Читал. Я только сейчас догадался, что у тебя есть эфемерный index.html в котором куча разных сторонних скриптов, из-за которых тупит загрузка основного контента. Если я таки понял твою задумку правильно, то ещё раз могу повторить, что закешировать это невозможно чисто технически, так как почти все сервисы динамические и учитывают ip пользователя, а у тебя вместо него будет передаваться ip сервера. То есть закешировать конечно можно, но есть вероятность, что гугл аналитикс не будет считать заходы, а гугл адсенс и тизерки тебя побанят.

Кеширование — это очень хорошо, но далеко не всегда его применение оправдано. К примеру, Nginx, кешируя jpg в памяти, позволяет снизить нагрузку на диск, кеширование результатов выполнения запросов MySQL в memcache позволяет снизить нагрузку на БД (но даже это уже очень спорный вопрос)

Кеширование же контента с внешних серверов — это, фактически, реализация граббера, который граббит всё сразу, либо, являясь прокси, грабит контент по требованию.

Если уж совсем на чистоту, то я могу предположить, почему у тебя может "тупить" сайт. Каждый запрос на сервер от клиента — это новое HTTP-соединение. Обычно в браузерах количество одновременных соединений лимитировано. Я точно не могу сказать, сколько где, в каждом браузере по-разному, но не более 10и одновременных соединений — это точно. Но суть в том, что, если у тебя в начале HTML-страницы (там где head) идёт загрузка множества каких-то тяжёлых скриптов/jss/имиджей, то остальное, то, что внизу, грузиться не будет, пока будет наполнен буфер коннектов. Отсюда могу дать совет — вынеси все тяжелые скрипты (типа счётчиков) в конец страницы. А если какой-нибудь блок тизеров должен отображаться в её начале и у него не предусмотрена отложенная загрузка (ну когда код можно загрузить в самом конце страницы, а он вставит рекламный блок в её начало), то, возможно получится спрятать его в iframe.
цитата
05/11/14 в 22:10
 ravlio
Да, и ещё. Касательно того же гугла. Как бы ты не кешировал его контент у себя, с его серверов он будет грузиться всё равно быстрее, хотя бы потому что у гугла CDN по всему миру, Geo DNS и всё такое прочее. Поэтому многие наоборот хотлинкуют с гугла тот же jquery и остальные библиотеки.
цитата
13/11/14 в 17:42
 Дартаньян
ravlio: trollface.png тем самым давая гуглу знать откуда пришел запрос.
цитата
16/11/14 в 19:04
 ravlio
Дартаньян писал:
ravlio: trollface.png тем самым давая гуглу знать откуда пришел запрос.

При инклуде скриптов с гугла гугл сможет узнать только сайт и страницу, на которых эти скрипты инклудятся. Другое дело, что гугл реально может строить карты хождения пользователей хотя бы через свой браузер, или аналитику/adsense, которые стоят если не у тебя, то у сайтов, на которые/с которых твой траф ходит. Ага, гугл знает всё обо всех. Вас это тревожит? Вы хотите поговорить об этом?

Я лишь пояснил в контексте данного топика, почему гугл будет всегда быстрее по миру, чем любой сервер или даже CDN, которые можно купить на мастере icon_smile.gif
цитата
16/11/14 в 19:43
 Дартаньян
ravlio: ну да, нуда рефер никто не отменял.
цитата
24/11/14 в 22:37
 karbonv
Всего то начать нужно было так smail101.gif... дальше сам trollface.png
server {
      server_name google.com ввв.google.com;

цитата
25/11/14 в 00:35
 Дартаньян
karbonv: trollface.png наркотики садят печень!
Стр. 1, 2  >  последняя »


Эта страница в полной версии